切片列表中的所有字符串?

ner*_*com 3 python string list slice

是否有Pythonic方法来切割列表中的所有字符串?

假设我有一个字符串列表:

list = ['foo', 'bar', 'baz']
Run Code Online (Sandbox Code Playgroud)

我只想要每个字符串中的最后2个字符:

list2 = ['oo', 'ar', 'az']
Run Code Online (Sandbox Code Playgroud)

我怎么能得到它?

我知道我可以通过列表进行迭代并list[i][-2:]从每个列表中获取,但这似乎不是Pythonic.

不太常见,我的代码是:

def parseIt(filename):
    with open(filename) as f:
        lines = f.readlines()

   result = [i.split(',') for i in lines[]]
Run Code Online (Sandbox Code Playgroud)

...除了我只想lines[i][20:]从每一行(而不是整行)分开.

idj*_*jaw 7

您提到您可以list[i][-2:]根据您的规范转换列表,但您实际需要的是:

[word[1:] for word in lst]
Run Code Online (Sandbox Code Playgroud)

此外,对于您希望从头开始切割20个字符的代码示例,解决方案将是相同的:

result = [i[20:].split(',') for i in lines]
Run Code Online (Sandbox Code Playgroud)