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


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

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

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

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

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

    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来简化代码。

    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循环是最直观和常用的方式,它允许你直接访问和修改字典中的键值对。在实际应用中,选择哪种方法取决于具体的使用场景和性能要求。