高效遍历和修改Python字典中的键值对

在Python中,字典的键值对可以通过以下几种方式高效遍历并修改其中的值:

  • 使用for循环和.items()方法:
    这是最直接的方法,可以同时获取键和值,并在循环中修改值。

    1
    2
    3
    my_dict = {'a': 1, 'b': 2, 'c': 3}
    for key, value in my_dict.items():
    my_dict[key] = value * 2 # 修改值
  • 使用for循环和.keys()方法:
    如果你只需要遍历键,可以使用.keys()方法,然后在循环中通过键来修改值。

    1
    2
    3
    my_dict = {'a': 1, 'b': 2, 'c': 3}
    for key in my_dict.keys():
    my_dict[key] = my_dict[key] * 2 # 修改值
  • 使用字典推导式:
    如果修改规则比较简单,可以使用字典推导式来创建一个新的字典,其中包含修改后的值。

    1
    2
    my_dict = {'a': 1, 'b': 2, 'c': 3}
    my_dict = {key: value * 2 for key, value in my_dict.items()}
  • 使用map()函数:
    对于简单的操作,可以使用map()函数结合lambda表达式来修改值。

    1
    2
    my_dict = {'a': 1, 'b': 2, 'c': 3}
    my_dict = dict(map(lambda item: (item[0], item[1] * 2), my_dict.items()))
  • 使用collections.defaultdict
    如果需要在遍历时添加或修改值,可以使用defaultdict来简化代码。

    1
    2
    3
    4
    5
    from collections import defaultdict
    my_dict = {'a': 1, 'b': 2, 'c': 3}
    new_dict = defaultdict(int)
    for key, value in my_dict.items():
    new_dict[key] = value * 2

以上方法中,使用.items()方法的for循环是最直观和常用的方式,它允许你直接访问和修改字典中的键值对。在实际应用中,选择哪种方法取决于具体的使用场景和性能要求。