我有以下输入,
inp = 'Sample'
n = 5
我想生成一个由 n
元素组成的元组列表,其中包含带有索引的 input
元素。所以我的输出是,
[('Sample', 0), ('Sample', 1), ('Sample', 2), ('Sample', 3), ('Sample', 4)]
下面的代码片段完成了工作,
output = zip([inp]*n, range(n))
只是想知道解决相同问题的替代方法吗?
最佳答案
最明显的解决方案(列表理解)已经是 mentioned in the comments ,所以这里有一个替代方案 itertools.zip_longest
,只是为了好玩 -
from itertools import zip_longest
r = list(zip_longest([], range(n), fillvalue=inp))
print(r)
[('Sample', 0), ('Sample', 1), ('Sample', 2), ('Sample', 3), ('Sample', 4)]
在 python2.x 上,您需要 izip_longest
。
关于python - 替代 zip 的其他方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47885839/