如何在python中从另一个列表创建列表

时间:2013-09-29 16:57:45

标签: python-3.x

我是python的新手,我坚持这个。我需要创建一个列表列表 由此列表c形成:['asdf','bbnm','rtyu','qwer']

我需要创建这样的东西:

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

我尝试使用for循环,但它没有用完。我不知道自己犯了什么错误。

3 个答案:

答案 0 :(得分:4)

您可以list comprehension使用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']

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

答案 1 :(得分: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']]
>>> 

答案 2 :(得分:-1)

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

b = []
for x in c:
    list(x).append(b)