【发布时间】:2013-02-17 07:47:34
【问题描述】:
我有一个这样的字符串列表
['aaa','bbb','ccc']
我需要将它们转换成这样的元组列表,
[('aaa',),('bbb',),('ccc',)]
当我尝试将元组函数应用于列表的每个元素时,它会拆分字符串并返回一些类似的东西
('a','a','a')
有没有办法解决这个问题?
【问题讨论】:
我有一个这样的字符串列表
['aaa','bbb','ccc']
我需要将它们转换成这样的元组列表,
[('aaa',),('bbb',),('ccc',)]
当我尝试将元组函数应用于列表的每个元素时,它会拆分字符串并返回一些类似的东西
('a','a','a')
有没有办法解决这个问题?
【问题讨论】:
使用list comprehension,并通过“单项元组创建方法”创建元组,或查看here 了解相关信息。
lst = ['aaa','bbb','ccc']
tpl_lst = [(i,) for i in lst]
产量:
[('aaa',), ('bbb',), ('ccc',)]
【讨论】:
>>> l = ['aaa', 'bbb', 'ccc']
>>> print [(i,) for i in l]
[('aaa',), ('bbb',), ('ccc',)]
您需要做的就是将每个元素放在自己的一个元组中。
【讨论】:
不要应用元组函数,因为它将字符串作为序列,并将其字符分开。您可以使用 List Comprehension 手动构建 tuple,如下所示:
>>> l = ['aaa','bbb','ccc']
>>> [(elem,) for elem in l]
[('aaa',), ('bbb',), ('ccc',)]
【讨论】: