列表中的Python无限重复元素

Har*_*art 2 python list

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

[1, 2, *3]
Run Code Online (Sandbox Code Playgroud)

要么

[1, 2, 3, ...]
Run Code Online (Sandbox Code Playgroud)

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

澄清度

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

Chr*_*tin 8

我能想到的最好方法是将两个迭代器链接在一起,如下所示:

from itertools import *

chain([1, 2], repeat(3))
Run Code Online (Sandbox Code Playgroud)

REPL示例:

>>> list(islice(chain([1, 2], repeat(3)), 10))
[1, 2, 3, 3, 3, 3, 3, 3, 3, 3]
Run Code Online (Sandbox Code Playgroud)