【问题标题】:Python adding the valuesPython 添加值
【发布时间】:2022-11-21 10:20:38
【问题描述】:
# Initialising list of dictionary
ini_dict = [{'a':5, 'b':10, 'c':90},
         {'a':45, 'b':78},
         {'a':90, 'c':10}]

# printing initial dictionary
print ("initial dictionary", (ini_dict))

# sum the values with same keys
result = {}
for d in ini_dict:
   for k in d.keys():
      result[k] = result.get(k,0) + d[k]


print("resultant dictionary : ", (result))

有人可以逐行解释程序吗

【问题讨论】:

  • 有什么具体的地方你不明白吗?您是否尝试过一个一个地搜索特定语句以了解它们的含义?

标签: python


【解决方案1】:

创建字典列表

ini_dict = [{'a':5, 'b':10, 'c':90},
     {'a':45, 'b':78},
     {'a':90, 'c':10}]

打印出带有字典的列表

print ("initial dictionary", (ini_dict))

创建一个新字典

result = {}

遍历字典列表

 for d in ini_dict:

所以第一个d将是{'a':5, 'b':10, 'c':90}

循环遍历该字典的键

for k in d.keys():

-> a、b 和 c

在结果字典中创建或获取相同的键并添加当前键的值。新创建的键的默认值为 0。

result[k] = result.get(k,0) + d[k]

打印出 result 字典

print("resultant dictionary : ", (result))

【讨论】:

    【解决方案2】:

    第一行初始化三个字典的列表。

    ini_dict = [{'a':5,  'b':10, 'c':90},
                {'a':45, 'b':78},
                {'a':90,         'c':10}]
    

    接下来,打印字典

    print ("initial dictionary", (ini_dict))
    

    最后,基于所述字典中的元素的键由字典构成加权直方图。这分三个步骤完成:

    1. 迭代字典列表以获取每个不同的字典。
      for d in ini_dict:
      

      请记住:ini_dict 是字典列表。当您对列表进行 for 循环时,符号(此处为 d)成为每个词典。

      1. 迭代字典中的键。 dict.keys() 方法返回一个键列表,可以对其进行迭代。
      for k in d.keys():
      
      1. 最后,对于字典中的每个键,修改结果字典中的相应键以添加新值。使用 result.get(k,0) 获取结果字典中键 k 的值,但如果键不存在,则 0 是默认值。
      result[k] = result.get(k,0) + d[k]
      

      这只是将结果替换为先前的结果+ d 中的值。

      在这段代码的末尾,结果字典具有每个键的附加值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-04-02
      • 1970-01-01
      • 2023-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多