gpt4 book ai didi

如果索引不存在,Python 列表在索引处设置值

转载 作者:太空狗 更新时间:2023-10-29 20:20:12 25 4
gpt4 key购买 nike

是否有一种方法、lib 或 python 中的某些东西可以在不存在的索引处设置列表中的值?类似于在列表中创建运行时索引:

l = []
l[3] = 'foo'
# [None, None, None, 'foo']

更进一步,使用多维列表:

l = []
l[0][2] = 'bar'
# [[None, None, 'bar']]

或使用现有的:

l = [['xx']]
l[0][1] = 'yy'
# [['xx', 'yy']]

最佳答案

没有内置的,但很容易实现:

class FillList(list):
def __setitem__(self, index, value):
try:
super().__setitem__(index, value)
except IndexError:
for _ in range(index-len(self)+1):
self.append(None)
super().__setitem__(index, value)

或者,如果您需要更改现有的原始列表:

def set_list(l, i, v):
try:
l[i] = v
except IndexError:
for _ in range(i-len(l)+1):
l.append(None)
l[i] = v

关于如果索引不存在,Python 列表在索引处设置值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22388866/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com