替代拉链的替代方式

时间:2017-12-19 11:19:33

标签: python zip tuples alternate

我有以下输入,

inp = 'Sample'
n = 5

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

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

在片段下面做的工作很整洁,

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

对于解决相同问题的替代方法感到好奇吗?

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

{REQUEST_URI}

它显示O / P为:

  
    
      
        

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