列表中的Python无限重复元素

哈里·斯图尔特

我有一个清单l = [1, 2, 3],我想要l[2->infinity] == 3基本上看起来像[1, 2, 3, 3, 3, 3, ...]我试过了:

[1, 2, *3]

要么

[1, 2, 3, ...]

无论如何,是否要为一系列索引添加“默认元素”?

澄清度

我不想重复元素n时间,因为我无法在列表的长度之外进行索引。我实际上想为的所有索引提供一个值2->infinity该索引范围的某种默认值。

网波

除了克里斯回答,您可以创建自己的生成器:

def inf3():
    yield 1
    yield 2
    while True:
        yield 3

>>> g = inf3()
>>> [next(g) for _ in range(100)]
[1, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章