使用列表理解进行优化

时间:2016-01-09 18:04:15

标签: python list list-comprehension

假设我有以下列表:

scikit learn

我想生成以下结果:

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]]

结果还可以,但我想知道是否有更优雅的东西。有什么想法吗?

4 个答案:

答案 0 :(得分:3)

怎么样:

FinalList = [list(map(int, d.split(','))) for d in StringLists]

请注意,如果您使用的是Python 2,则无需转换结果:

FinalList = [map(int, d.split(',')) for d in StringLists]

答案 1 :(得分:3)

一种方法

>>> [[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]]

答案 2 :(得分:2)

您可以使用:

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]]

答案 3 :(得分:1)

这个怎么样:

TempList = [map(int, d.split(',')) for d in StringLists]