首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >改革嵌套的元组列表时遇到的问题?

改革嵌套的元组列表时遇到的问题?
EN

Stack Overflow用户
提问于 2017-01-05 17:27:55
回答 3查看 45关注 0票数 2

在进行了大量的改革之后,我获得了以下元组的lis

代码语言:javascript
运行
复制
[[(('A', 'X'), ('43,23', 'Y'), ('wepowe', 'd'))]]

如何将格式重新格式化为:

代码语言:javascript
运行
复制
'A', '43,23', 'wepowe'

我试着:

代码语言:javascript
运行
复制
[' '.join(map(str,lis[0][0])) for x in lis]

代码语言:javascript
运行
复制
[' '.join(map(str,lis[0][:1])) for x in lis]

代码语言:javascript
运行
复制
' '.join(map(str, lis))

但是,我没有得到所需的格式。像上面这样的元组和列表改革的最容易的方法是什么?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-01-05 17:30:12

您可以使用这样的list comprehension

代码语言:javascript
运行
复制
my_list = [(('A', 'X'), ('43,23', 'Y'), ('wepowe', 'd'))]
result = [item[0] for item in my_list[0]]

输出:

代码语言:javascript
运行
复制
>>> result
['A', '43,23', 'wepowe']
票数 6
EN

Stack Overflow用户

发布于 2017-01-05 17:30:44

您可以将zip用作:

代码语言:javascript
运行
复制
>>> 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持有的值为:

代码语言:javascript
运行
复制
>>> new_list
('A', '43,23', 'wepowe')
票数 3
EN

Stack Overflow用户

发布于 2017-01-05 17:33:10

在编写任何列表理解之前,可以使用两个for循环来迭代列表,如下所示:

代码语言:javascript
运行
复制
tups = [(('A', 'X'), ('43,23', 'Y'), ('wepowe', 'd'))]

for item in tups:
    for j in item:
        print j[0]

现在,如果您要看到的是我们要寻找的每个元组的第一个元素,我们可以将其转换为如下所示的列表理解表达式:

代码语言:javascript
运行
复制
' '.join(str(j[0]) for item in tups for j in item)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41491138

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档