如何解开列表元组

时间:2019-03-24 02:03:34

标签: python list tuples enumerate unpack

我正在尝试解压缩打包在元组中的列表的元素。

myTuple = (['a', 'list', 'of', 'strings'], ['inside', 'a', 'tuple'], ['extra', 'words', 'for', 'filler'])

例如,我想获取此元素('a')

我已经尝试过了:

for (i, words) in list(enumerate(myTuple)):
    print(words)

但这会返回这样的列表

['a', 'list', 'of', 'strings']
['inside', 'a', 'tuple']
etc...

如何获取列表中的元素?

3 个答案:

答案 0 :(得分:0)

您可以使用reduce,例如。用numpy

from functools import reduce
reduce(append, myTuple)

Out[149]: 
array(['a', 'list', 'of', 'strings', 'inside', 'a', 'tuple', 'extra',
       'words', 'for', 'filler'], dtype='<U7')

或者,基本

import operator
from functools import reduce
reduce(operator.add, myType, [])
# or, reduce(lambda x, y: x + y, myTuple)

reduce是经典的列表操作函数,它与mapfilter等一起使用。它采用一个初始值(此处为空列表),并依次应用一个函数({{1 }})到序列(append)的每个元素。

答案 1 :(得分:0)

您可以使用元组的索引,然后使用列表访问最里面的元素。例如,要获取字符串'a',您可以调用:

myTuple[0][0]

如果要遍历列表中的所有元素,则可以使用chain方法表itertools。例如:

from itertools import chain

for i in chain(*myTuple):
    print(i)

答案 2 :(得分:-1)

当前,您只是遍历整个循环并打印出列表中包含的元素。

但是,如果您要访问列表中的特定元素,则只需使用.index()来按其名称进行引用即可。

或者,您可以只打印(列表(索引位置))