让我说这个例子:
Num = [[1,2,3],[4,5,6],[7,8,9]]
如何使用list.append()
和索引位置的用户输入替换此列表中的数字?
例如:我想用7替换数组中的4。
答案 0 :(得分:2)
您不使用.append
。您使用分配(可能是切片分配)。 Num[1]
将指代[4,5,6]
。 Num[1][0]
是指4 ...,所以Num[1][0] = 7
会做您想要的事情。
答案 1 :(得分:0)
Num[1][0]= 7
应该做到这一点...:)
答案 2 :(得分:0)
尝试此操作,它将用7替换每个4,有效地重新创建列表。不再是4了...可以在列表的任何位置
new_num = [[k if k != 4 else 7 for k in i] for i in num]
输出
[[1, 2, 3], [7, 5, 6], [7, 8, 9]]
答案 3 :(得分:0)
.append()
仅用于在数组末尾插入项目。
简单的方法是,如果您现在的数据在哪里:
num = [[1,2,3],[4,5,6],[7,8,9]]
num[1][0] = <new_value>
如果要替换数组中的全部4个或前4个,可以这样迭代:
looked = <number>
new_value = <number>
for array_data in num:
if (looked in array_data):
array_data[array_data.index(looked)] = new_value
对于功能替换:
# This will replace the first <value> found
def replace(L, new, old):
for array_data in num:
if (old in array_data):
array_data[array_data.index(old)] = new
num = [[1,2,3],[4,5,6],[7,8,9]]
replace(num, 7, 4)
[[1,2,3], [7,5,6], [7,8,9]]
要替换所有值,只需使用lambda函数:
new_num = lambda x, y, z: [[k if k != z else y for k in i] for i in x]
new_num(num, 7, 4)
[[1,2,3], [7,5,6], [7,8,9]]