2015-11-03 178 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