1

我对python很陌生,我被困住了。我需要创建一个由此列表形成的列表列表c['asdf','bbnm','rtyu','qwer']

我需要创建这样的东西:

b[['a','s','d','f'],['b','b','n','m'],['r','t','y','u'],['q','w','e','r']]

我尝试使用for-loop,但没有成功。我不知道我犯了什么错误。

4

3 回答 3

4

您可以使用列表推导list()

>>> c = ['asdf','bbnm','rtyu','qwer']
>>> 
>>> b = [list(s) for s in c]
>>> b
[['a', 's', 'd', 'f'], ['b', 'b', 'n', 'm'], ['r', 't', 'y', 'u'], ['q', 'w', 'e', 'r']]

请注意,list()使用字符串参数调用会返回一个包含该字符串字符的列表:

>>> list('abc')
['a', 'b', 'c']

我们上面所做的是通过理解将其应用于列表的每个元素。

于 2013-09-29T17:00:07.173 回答
1

使用地图功能。

>>> a= ['asdf','bbnm','rtyu','qwer']
>>> map(list ,a )
[['a', 's', 'd', 'f'], ['b', 'b', 'n', 'm'], ['r', 't', 'y', 'u'], ['q', 'w', 'e', 'r']]
>>> 
于 2014-03-05T12:38:44.903 回答
-1

你可以做一些更容易理解的事情:

b = []
for x in c:
    list(x).append(b)
于 2016-11-09T00:06:21.143 回答