我有一个列表作为值列表。现在我在选择值时从列表中随机选择一个值,必须删除该值。所以不再使用它们,但必须保持关键和外在的价值。
dic1 ={1:[[0,1],[1,1]],2:[[0,1],[1,1]]}
for key,value in dic1.items():
if key == 2:
# for example, I want to delete from key 2: list element [0,1]
# so key 1 : [0,1] stays
答案 0 :(得分:5)
不循环,字典是为了避免O(n)
循环:
dic1 ={1:[[0,1],[1,1]],2:[[0,1],[1,1]]}
按键访问字典:获取值的引用。由于您知道其中包含哪些数据,因此您可以删除第一个列表项:
dic1[2].pop(0)
当然,在一般情况下你必须更安全地写它:
k = 2
value = dic1.get(2,None) # returns None if key not found
if isinstance(value,list) and value: # this is a list, and not empty
value.pop(0)
else:
# error message
print("Warning: nothing done")