[英]How can I append overlapping tuples in Python and list them in order?
[英]Append tuples in order to a list
我是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()構造一個列表
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.