切片列表中的所有字符串?
Slice all strings in a list?
是否有一种 Pythonic 的方式来对列表中的所有字符串进行切片?
假设我有一个字符串列表:
list = ['foo', 'bar', 'baz']
我只想要每个字符串的最后 2 个字符:
list2 = ['oo', 'ar', 'az']
我怎样才能得到它?
我知道我可以遍历列表并从每个列表中获取 list[i][-2:]
,但这似乎不是很 Pythonic。
不太一般,我的代码是:
def parseIt(filename):
with open(filename) as f:
lines = f.readlines()
result = [i.split(',') for i in lines[]]
...除了我只想从每一行(而不是整行)中拆分 lines[i][20:]
。
您提到您可以 list[i][-2:]
根据您的规范转换列表,但您实际要寻找的是:
[word[1:] for word in lst]
此外,对于您提供的代码示例,您希望从头开始分割 20 个字符,解决方案是相同的:
result = [i[20:].split(',') for i in lines]
是否有一种 Pythonic 的方式来对列表中的所有字符串进行切片?
假设我有一个字符串列表:
list = ['foo', 'bar', 'baz']
我只想要每个字符串的最后 2 个字符:
list2 = ['oo', 'ar', 'az']
我怎样才能得到它?
我知道我可以遍历列表并从每个列表中获取 list[i][-2:]
,但这似乎不是很 Pythonic。
不太一般,我的代码是:
def parseIt(filename):
with open(filename) as f:
lines = f.readlines()
result = [i.split(',') for i in lines[]]
...除了我只想从每一行(而不是整行)中拆分 lines[i][20:]
。
您提到您可以 list[i][-2:]
根据您的规范转换列表,但您实际要寻找的是:
[word[1:] for word in lst]
此外,对于您提供的代码示例,您希望从头开始分割 20 个字符,解决方案是相同的:
result = [i[20:].split(',') for i in lines]