Python 将元组转换为列表并摆脱内部元组/列表
这是我的元组:Python 将元组转换为列表并摆脱内部元组/列表,python,list,tuples,Python,List,Tuples,这是我的元组: (('dlazarov',), ('ant1',)) >>> from itertools import chain >>> tot = (('dlazarov',), ('ant1',)) >>> list(chain.from_iterable(tot)) ['dlazarov', 'ant1'] 我想把这个变成这样: ['dlazarov', 'ant1'] 我试着用这个: userdata = (('dlazar
(('dlazarov',), ('ant1',))
>>> from itertools import chain
>>> tot = (('dlazarov',), ('ant1',))
>>> list(chain.from_iterable(tot))
['dlazarov', 'ant1']
我想把这个变成这样:
['dlazarov', 'ant1']
我试着用这个:
userdata = (('dlazarov',), ('ant1',))
userdata = map(list, userdata)
userdata = sum(userdata, [])
但这似乎不起作用
没关系,我有个打字错误
还有一个问题,如果你们想回答的话,在列表、itertools等方面获得更好的知识的最佳方法是什么?我一直在使用我很熟悉的低效变通方法,但这些方法肯定是低效和耗时的。见鬼,有一半的时间,我必须使用字符串和拆分来将内容转换为列表。您可以使用列表理解:
>>> userdata = (('dlazarov',), ('ant1',))
>>> [x[0] for x in userdata]
['dlazarov', 'ant1']
您可以使用列表:
>>> userdata = (('dlazarov',), ('ant1',))
>>> [x[0] for x in userdata]
['dlazarov', 'ant1']
该操作称为“展平”
您可以使用来处理平展一个iterable的iterable(在您的示例中,是一个元组的元组)的常见情况:
该操作称为“展平”
您可以使用来处理平展一个iterable的iterable(在您的示例中,是一个元组的元组)的常见情况:
你的方法似乎有效,但这里有另一种方法:
from itertools import chain
list(chain(*userdata))
这是这里的一个方法:你的方法似乎有效,但这里有另一种方法:
from itertools import chain
list(chain(*userdata))
这是这里的一个方法:当然,还有迭代的方法:
mytuple = (('dlazarov',), ('ant1',))
mylist = []
for t in mytuple:
mylist.append(t[0])
当然,还有迭代的方法:
mytuple = (('dlazarov',), ('ant1',))
mylist = []
for t in mytuple:
mylist.append(t[0])
你已经拥有的“似乎不起作用”是什么?毕竟,它产生了预期的结果。虽然我不会这样做,但你不能为成功而争辩。@kindall--它不起作用:
>>映射(列表,(('abc',),('def',)
计算为[['abc',['def']]]
如果你还没有,请阅读我下面链接的整个页面。可能好几次。这是好东西。好吧,如果你不全部做,肯定不行!您忘记了sum()
步骤…:-)你已经拥有的“似乎不起作用”是什么?毕竟,它产生了预期的结果。虽然我不会这样做,但你不能为成功而争辩。@kindall--它不起作用:>>映射(列表,(('abc',),('def',)
计算为[['abc',['def']]]
如果你还没有,请阅读我下面链接的整个页面。可能好几次。这是好东西。好吧,如果你不全部做,肯定不行!您忘记了sum()
步骤…:-)