迭代字符串列表列表?

时间:2015-11-03 21:22:38

标签: python string list int

我是Python新手,来自C;这是我的第一篇文章,我全神贯过地寻求如何解决我的问题,但遗憾的是我找不到它。

我有一个列表列表,列表中是数字字符串(排序日期):

    d = [['2012', '11', '14'], ['2012', '11', '13'], ['2012', '11', '12']]

我正在尝试将这些字符串数字转换为整数,但我不确定如何使用我用于普通字符串列表的方式来实现它,这是

    int_list = [int(x) for x in str_list]

如何遍历我的列表列表并将字符串数转换为整数,以便我的列表看起来像这样

    d = [[2012, 11, 14], [2012, 11, 13], [2012, 11, 12]]

很抱歉,如果之前已经问过这个问题,但我真的可以使用一些帮助! 提前谢谢!

3 个答案:

答案 0 :(得分:1)

您可以将map与列表理解结合使用。

d=[map(int,i) for i in d]

对于python 3.x,请使用:

d=[list(map(int,i)) for i in d]

答案 1 :(得分:1)

只使用列表理解:

>>> d = [['2012', '11', '14'], ['2012', '11', '13'], ['2012', '11', '12']]
>>> i = [[int(x) for x in l] for l in d]
>>> i
[[2012, 11, 14], [2012, 11, 13], [2012, 11, 12]]

我认为你的问题是它是一个嵌套列表所以迭代(int(x))到d试图将列表转换为整数

答案 2 :(得分:1)

嵌套列表理解很有效:

d = [[int(x) for x in sublist] for sublist in d]