我正在寻找一个表达式,改变一个元素并返回修改后的列表
下面有点啰嗦
# key=0; value=3; rng=[1,2] [(v if i != key else value) for i, v in enumerate(rng)]
编辑:
我正在寻找一种在单个表达式中内联以下函数的方法
def replace(rng: List, key: int, value): a = list(rng) a[key] = value return a
尝试列表串联:
key = 0 value = 3 rng = [1, 2] out = rng[:key] + [value] + rng[key+1:] print(out)
rng[:key]是列表的副本,直到键(独占),[value]是一个新列表,其中唯一的元素是value,并且rng[key+1]是键(独占)上的列表的副本。将这些连接在一起,您将获得一个副本,其中替换了密钥
rng[:key]
[value]
value
rng[key+1]