首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >python:在元组列表内的元组中插入元素

python:在元组列表内的元组中插入元素
EN

Stack Overflow用户
提问于 2021-09-03 17:03:49
回答 2查看 147关注 0票数 1

我有两个列表。一个包含两个元素的元组列表,另一个仅包含字符串。

以这种方式组合它们的最佳方式是什么:

代码语言:javascript
运行
复制
list1 = [('1','2'), ('3','4')]
list2 = ['one','two']

expected_result = [('1','2','one'), ('3','4','two')]

我被这样的东西卡住了:

代码语言:javascript
运行
复制
result = [elt+(list2[0],) for elt in list1]

然而,我不确定是否有可能在一个列表理解中同时迭代两个列表。有一点脑筋急转弯。任何帮助都将不胜感激。

加分,如果它适合在一行(列表理解风格)!

EN

回答 2

Stack Overflow用户

发布于 2021-09-03 17:14:07

您可以将这两个列表zip()在一起。这将为您提供像(('1', '2'), 'one')这样的元素。这假设列表的长度相同。然后,在列表理解中,通过连接这些元组或将第一个元组扩展为元组来创建一个新的元组,如下所示:

代码语言:javascript
运行
复制
list1 = [('1','2'), ('3','4')]
list2 = ['one','two']

[(*t, word) for t, word in zip(list1, list2)]
# [('1', '2', 'one'), ('3', '4', 'two')]

或者:

代码语言:javascript
运行
复制
[t + (word,) for t, word in zip(list1, list2)]
票数 3
EN

Stack Overflow用户

发布于 2021-09-03 18:57:51

列表理解风格解决方案(单行)

代码语言:javascript
运行
复制
list1 = [('1','2'), ('3','4')]
list2 = ['one','two']

new_lst = [ list1[i]+(list2[i],) for i in range(len(list1))]
print(new_lst)

>> ('1','2','one'),('3','4','two')

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69048446

复制
相关文章

相似问题

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