2015-11-03 179 views
0

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

对不起,如果这个问题已经问过,但我真的可以使用一些帮助! 在此先感谢!

回答

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(通过d试图将列表转换为整数

+0

非常感谢!有效! 现在看来很容易理解,但来自C我仍然有点困惑哈哈非常感谢! – CuriousDog

1

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

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

对于Python 3.x中,使用方法:

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

我尝试这样做,我得到: 'd = [<地图对象在0x047E2C10><在0x047E2BD0地图对象> ...]' – CuriousDog

+0

@HEELrobyn,答案被更新。 –

+0

谢谢你的解决方案!应该指定我在我的帖子中使用python 3 haha​​ – CuriousDog

1

嵌套列表理解工程nicel Y:

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

谢谢你的帮助!当我正在寻找解决方案时,我曾看到其他帖子的理解,但不明白如何访问每个特定元素。感谢您的答案! – CuriousDog