Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将元组转换为列表并摆脱内部元组/列表_Python_List_Tuples - Fatal编程技术网

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()
步骤…:-)