python - 替代 zip 的其他方式

标签 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))

只是想知道解决相同问题的替代方法吗?

最佳答案

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

相关文章:

vba - 爬行 Zip 文件

python - 我怎么知道在 Python 中使用什么数据类型?

python - 比较元组列表中的多个项目并从同一列表中删除元组

c# - 使命名元组的名称出现在序列化的 JSON 响应中

python - 如何创建一个按钮来结束程序而不结束GUI?

Python - 将字符串对象转换为 ctypes (unsigned char *)

javascript - 增量故障的数学公式

python - 如何在现有的两个节点之间创建关系,我正在使用 neo4j。

Java zip 程序生成损坏的 zip 文件

java - 无法提取从 Java 创建的 zip 文件