替代拉链的替代方式

问题描述 投票:2回答:2

我有以下输入,

inp = 'Sample'
n = 5

我想生成一个n元素的元组列表,包含input索引。所以我的输出是,

[('Sample', 0), ('Sample', 1), ('Sample', 2), ('Sample', 3), ('Sample', 4)]

下面的片段工作整洁,

output = zip([inp]*n, range(n))

只是好奇解决相同的替代方法?

python zip tuples alternate
2个回答
2
投票

最明显的解决方案(列表理解)已经是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


0
投票
inp='sample'
n=5
print [(inp,i) for i in range(n)]

它显示O / P为:

[('sample',0),('sample',1),('sample',2),('sample',3),('sample',4)]

© www.soinside.com 2019 - 2024. All rights reserved.