【问题标题】:how to convert a nested dictionary to a list, combine it with existing list and display results如何将嵌套字典转换为列表,将其与现有列表组合并显示结果
【发布时间】:2023-01-12 10:39:34
【问题描述】:

#嵌套字典

card_values = {
"normal": [2, 3, 4, 5, 6, 7, 8, 9, 10], 
"suited": {"J":10, "Q":10, "K":10, "A":11}
}

#code 我写来尝试迭代这些值

all_cards = []
for i in card_values:
    for j in card_values[i]:
        all_cards.append(j)
print(all_cards)

#需要输出

all_cards = [2, 3, 4, 5, 6, 7, 8, 9, 10, 11]

【问题讨论】:

    标签: python list dictionary


    【解决方案1】:

    你可以使用这个 sn-p:

    values = list(set(card_values["normal"] + list(card_values["suited"].values())))
    

    这返回:

    [2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
    

    代码的每个部分在做什么: 我们首先从card_values 中的"normal" 键获取[2, 3, 4, 5, 6, 7, 8, 9, 10]。然后我们只从 card_values 中的 "suited" 键获取值,然后将它们转换为一个列表,剩下 [10, 10, 10, 11]。然后我们合并这两个列表并使用set() 删除重复项。

    【讨论】:

      【解决方案2】:

      我会制作一个集合来获取唯一值,然后对其进行排序。

      card_values = {
          "normal": [2, 3, 4, 5, 6, 7, 8, 9, 10],
          "suited": {"J":10, "Q":10, "K":10, "A":11}
      }
      
      all_cards = sorted(
          set(card_values["normal"])
          | set(card_values["suited"].values())
      )
      
      print(all_cards)
      

      【讨论】:

        猜你喜欢
        • 2021-04-26
        • 1970-01-01
        • 2021-02-12
        • 1970-01-01
        • 1970-01-01
        • 2020-09-03
        • 1970-01-01
        • 2017-12-27
        • 1970-01-01
        相关资源
        最近更新 更多