使用列表理解进行优化
Optimizing by using list comprehension
假设我有以下列表:
StringLists = ['1,8,0,9','4,5,2,2','4,6,7,2','4,2,8,9']
我想生成以下结果:
FinalList = [[1,8,0,9],[4,5,2,2],[4,6,7,2],[4,2,8,9]]
我正在使用以下代码:
TempList = [d.split(',') for d in StringLists]
FinalList = list()
for alist in TempList:
FinalList.append([int(s) for s in alist])
结果还可以,但我想知道是否有更优雅的东西。有什么想法吗?
怎么样:
FinalList = [list(map(int, d.split(','))) for d in StringLists]
请注意,如果您使用的是 Python 2,则不必强制转换结果:
FinalList = [map(int, d.split(',')) for d in StringLists]
这个怎么样:
TempList = [map(int, d.split(',')) for d in StringLists]
您可以使用:
StringLists = ['1,8,0,9','4,5,2,2','4,6,7,2','4,2,8,9']
print map(lambda s: map(int, s.split(',')), StringLists)
输出:
[[1, 8, 0, 9], [4, 5, 2, 2], [4, 6, 7, 2], [4, 2, 8, 9]]
一种方法
>>> [[int(s) for s in string.split(',')] for string in StringLists]
[[1, 8, 0, 9], [4, 5, 2, 2], [4, 6, 7, 2], [4, 2, 8, 9]]
假设我有以下列表:
StringLists = ['1,8,0,9','4,5,2,2','4,6,7,2','4,2,8,9']
我想生成以下结果:
FinalList = [[1,8,0,9],[4,5,2,2],[4,6,7,2],[4,2,8,9]]
我正在使用以下代码:
TempList = [d.split(',') for d in StringLists]
FinalList = list()
for alist in TempList:
FinalList.append([int(s) for s in alist])
结果还可以,但我想知道是否有更优雅的东西。有什么想法吗?
怎么样:
FinalList = [list(map(int, d.split(','))) for d in StringLists]
请注意,如果您使用的是 Python 2,则不必强制转换结果:
FinalList = [map(int, d.split(',')) for d in StringLists]
这个怎么样:
TempList = [map(int, d.split(',')) for d in StringLists]
您可以使用:
StringLists = ['1,8,0,9','4,5,2,2','4,6,7,2','4,2,8,9']
print map(lambda s: map(int, s.split(',')), StringLists)
输出:
[[1, 8, 0, 9], [4, 5, 2, 2], [4, 6, 7, 2], [4, 2, 8, 9]]
一种方法
>>> [[int(s) for s in string.split(',')] for string in StringLists]
[[1, 8, 0, 9], [4, 5, 2, 2], [4, 6, 7, 2], [4, 2, 8, 9]]