python3 如何在字典和list中循环删除元素


python3 如何在字典和list中循环删除元素

dict_origin = {"a":"a_value", "b":"b_value"}
print(dict_origin)
# 先把字典的key抽出一个list
for key in list(dict_origin):
  value = dict_origin[key]
  dict_origin.pop(key)

print(dict_origin)


l_values = ["a","b","c"]
print(l_values)

# [:]拷贝一个list,遍历拷贝的新list操作原始list
for s_val in l_values[:]:
    # 使用remove或pop都是可以的
    # remove是按照数值移除
    l_values.remove(s_val)
    # pop是按照索引删除,默认是从末尾删除元素,有点像数据结构中的"出栈"操作
    # l_values.pop()
print(l_values)

# 正序循环,删除时候会报错。倒序循环可以完实现ist中循环遍历删除数据需求
l_num_list = [1, 2, 3, 4, 5]
print(l_num_list)
for i in range(len(l_num_list)-1, -1, -1):
    l_num_list.pop(i)
    print(l_num_list)
 
print(l_num_list)

D:\python3_project\test>python3 test_del_dict_key.py

{'a': 'a_value', 'b': 'b_value'}
{}
['a', 'b', 'c']
[]
[1, 2, 3, 4, 5]
[1, 2, 3, 4]
[1, 2, 3]
[1, 2]
[1]
[]
[]