在进行了大量的改革之后,我获得了以下元组的lis
:
[[(('A', 'X'), ('43,23', 'Y'), ('wepowe', 'd'))]]
如何将格式重新格式化为:
'A', '43,23', 'wepowe'
我试着:
[' '.join(map(str,lis[0][0])) for x in lis]
和
[' '.join(map(str,lis[0][:1])) for x in lis]
和
' '.join(map(str, lis))
但是,我没有得到所需的格式。像上面这样的元组和列表改革的最容易的方法是什么?
发布于 2017-01-05 17:30:12
您可以使用这样的list comprehension
:
my_list = [(('A', 'X'), ('43,23', 'Y'), ('wepowe', 'd'))]
result = [item[0] for item in my_list[0]]
输出:
>>> result
['A', '43,23', 'wepowe']
发布于 2017-01-05 17:30:44
您可以将zip
用作:
>>> my_list = [(('A', 'X'), ('43,23', 'Y'), ('wepowe', 'd'))]
>>> new_list , _ = zip(*my_list[0])
# ^ replace this with some variable in case you also want the
# elements at `1`st index of each tuple
new_list
持有的值为:
>>> new_list
('A', '43,23', 'wepowe')
发布于 2017-01-05 17:33:10
在编写任何列表理解之前,可以使用两个for
循环来迭代列表,如下所示:
tups = [(('A', 'X'), ('43,23', 'Y'), ('wepowe', 'd'))]
for item in tups:
for j in item:
print j[0]
现在,如果您要看到的是我们要寻找的每个元组的第一个元素,我们可以将其转换为如下所示的列表理解表达式:
' '.join(str(j[0]) for item in tups for j in item)
https://stackoverflow.com/questions/41491138
复制相似问题