gpt4 book ai didi

python - 在Python中循环列表时如何避免覆盖SQL UPDATE语句?

转载 作者:行者123 更新时间:2023-11-29 10:36:27 25 4
gpt4 key购买 nike

我想在 python 中迭代我的 2D 列表并使元素相似。我想使用索引 0 的 ID 更新我的数据库 (mySQL),使其与索引 1 类似。

list_one = [ [1,3], [2,5], [3,1], [4,5], [5,2] ]


loop 1: UPDATE 1 with 3
>> list_one[0] == 3
loop 2: UPDATE 2 with 5
>> list_one[1] == 5
loop 3: UPDATE 3 with 1
>> list_one[2] == 1

## if you look closely, the first loop will be re-updated by the third loop because list_one[0] is currently == 3.
## So loop 1 will also output as 1 along with loop 3. list_one[0] is overwritten.
>> list_one[0] == 1

如何避免这种情况发生?我可以在 mySQL 中编写一个查询来立即更新所有内容吗?如果有的话,我不知道我会有多少个数组。我正在使用 python、django 和 mysql。请帮忙,谢谢!

<小时/>

最佳答案

如果我理解正确的话,我想先清理输入数据,我们可以删除将重新更新的列表元素,因为您的情况是 [3,1][5,2],之后清理后的输入将是 [[1, 3], [2, 5], [4, 5]],使用此输入,相同 ID 不会发生覆盖:

list_one = [ [1,3], [2,5], [3,1], [4,5], [5,2] ]
list_two = []
for i in list_one:
if i[0] not in [el[1] for el in list_two]:
list_two.append(i)
print(list_two) #here list_two will be [[1, 3], [2, 5], [4, 5]]

list_two 将是 [[1, 3], [2, 5], [4, 5]],然后进行更新。

关于python - 在Python中循环列表时如何避免覆盖SQL UPDATE语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46333838/

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