python - 将元组附加到列表中
问题描述
我是python新手。是否可以将我的元组添加到空列表中,但是以有序的方式?
我知道该if i not in myTransfer:
部分也不理想,但只是为了获得更清晰的输出。我尝试在下面的代码中执行此操作,但如果有更简单的解决方案将不胜感激
tupDays = ('Monday', 'Wednesday', 'Monday')
tupAmount = (100,300,100)
myTransfer = []
for a in tupAmount:
myTransfer.append(a)
for i in tupDays:
if i not in myTransfer:
myTransfer.append(i)
print(myTransfer)
我想得到的是:
[100,Monday,200,Wednesday,100,Monday]
也许将它放在字典中会更好,因此它可以成为键值对,如下所示,但我似乎无法掌握我需要使用的内置方法。
{
100: 'Monday',
300: 'Tuesday',
100: 'Monday'
}
Thank you so much for the help.
解决方案
一种方法是使用zip和itertools.chain。
在这里,我假设 2 个元组具有相同的长度。
import itertools
my_transfer = list(itertools.chain(*zip(tupAmount, tupDays)))
# [100, 'Monday', 300, 'Wednesday', 100, 'Monday']
这个怎么运作:
1) zip 聚合来自两个元组的元素。
>>> list(zip(tupAmount, tupDays))
[(100, 'Monday'), (300, 'Wednesday'), (100, 'Monday')]
2) itertools.chain 从可迭代对象返回元素。星号运算符解包元组列表。这对应于:
>>> list(itertools.chain((100, 'Monday'), (300, 'Wednesday'), (100, 'Monday')))
[100, 'Monday', 300, 'Wednesday', 100, 'Monday']
3) 最后,list() 构造一个列表
推荐阅读
- mongodb - MongoDB 复制作为 Windows 上的服务
- sql - SQL 使用模式更改字符串
- python - 如何发送对象并获取该项目在Django Rest Framework分页中存在的相应页码?
- maps - Tableau:如何获得非常高分辨率的卫星地图作为背景?
- c# - 蓝牙 Radio.StateChanged 事件触发两次
- android - 如何控制我的 android 可穿戴设备上的主页按钮在按下时的作用?
- node.js - 在nodejs vscode中调试时进程以代码2退出
- json - Flutter:显示嵌套 JSON 数据中的指定行
- ssis - 如何使 SSIS 数据流每 5 分钟后频繁执行
- node.js - Angular Mat 复选框 - 将选定的行传递给后端逻辑