首页 > 解决方案 > Python从两个列表中删除第一次出现的列表项

问题描述

我正在使用 python 进行骰子取消的骰子滚轮。我已经创建了骰子并将它们存储在一个列表中。0是第一组骰子,1是第二组骰子。

{0: [4,2,3,2], 1: [2,3,6]}

python 脚本在两个列表中为每个唯一数字找到第一个匹配的数字,然后将它们从列表中删除。

结果后:

{0: [4,2], 1: [6]}

我似乎找不到正确的方法来实现这一点。我已经调查过了itertoolsfind_first但我想不出一种让它工作的方法。

有没有人有任何提示?

标签: pythonpython-3.x

解决方案


在这里尝试:

dct = {0: [4, 2, 3, 2], 1: [2, 3, 6]}
new_dct = dct[0].copy()
for i in new_dct:
    if i in dct[1]:
        dct[0].remove(i)
        dct[1].remove(i)
print(dct)

更新 :

如果你需要你可以改变

new_dct = dct[0].copy()
for i in new_dct:

for i in dct[0][:]:

推荐阅读