一千萬個為什麽

搜索

如何使用Python將列表中的單個元素轉換為多個元素?

我有一個元素列表,每個元素由四個單獨的值組成,這些值由制表符分隔:

['A\tB\tC\tD', 'Q\tW\tE\tR', etc.]

我想要的是創建一個沒有選項卡的更大的列表,以便每個值是一個單獨的元素:

['A', 'B', 'C', 'D', 'Q', 'W', 'E', 'R', etc.]

我怎麽能用Python做到這一點?我需要它來完成我的課程,今晚到期(格林​​威治標準時間午夜),我完全難過了。

最佳答案

一次全部:

'\t'.join(['A\tB\tC\tD', 'Q\tW\tE\tR']).split('\t')

一次一個:

[c for s in ['A\tB\tC\tD', 'Q\tW\tE\tR'] for c in s.split('\t')]

或者如果所有元素都是單個字母:

[c for s in ['A\tB\tC\tD', 'Q\tW\tE\tR'] for c in s[::2]]

如果可以引用標簽,那麽:

import csv
rows = csv.reader(['A\t"\t"\tB\tC\tD', 'Q\tW\tE\tR'], delimiter='\t')
[c for s in rows for c in s] # or list(itertools.chain.from_iterable(rows))

轉載註明原文: 如何使用Python將列表中的單個元素轉換為多個元素?