[英]Combination of lists from two lists of strings
我有兩個列表,我需要從這些列表中組合字符串,我已經嘗試過,但我認為它對於較大的列表來說效率不高。
data = ['keywords', 'testcases']
data_combination = ['data', 'index']
final_list = []
for val in data:
for comb in range(len(data_combination)):
if comb == 1:
final_list.append([val] + data_combination)
else:
final_list.append([val, data_combination[comb]])
我的輸出是:
[['keywords', 'data'],
['keywords', 'data', 'index'],
['testcases', 'data'],
['testcases', 'data', 'index']]
有沒有更多的pythonic方式來實現它?
列表理解是一種方式。 “Pythonic”是主觀的,我不會聲稱這是最可讀或最理想的方法。
data = ['keywords', 'testcases']
data_combination = ['data', 'index']
res = [[i] + data_combination[0:j] for i in data \
for j in range(1, len(data_combination)+1)]
# [['keywords', 'data'],
# ['keywords', 'data', 'index'],
# ['testcases', 'data'],
# ['testcases', 'data', 'index']]
可能更加Pythonic:
碼
data = ["keywords", "testcases"]
data_combination = ["data", "index"]
[[x] + data_combination[:i] for x in data for i, _ in enumerate(data_combination, 1)]
產量
[['keywords', 'data'],
['keywords', 'data', 'index'],
['testcases', 'data'],
['testcases', 'data', 'index']]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.