【问题标题】:Appending dictionary into a list of tuples将字典附加到元组列表中
【发布时间】:2019-04-24 10:14:54
【问题描述】:

假设我得到以下字典:

d = {'x': 1, 'y': 2, 'z': 3}

我想创建一个函数,将每个键及其值附加到元组列表中,所以我编写了代码:

def dict_to_list_of_tuples(dic):
    list_of_tuples = []
    for key in dic:
        list_of_tuples.append((key, dic[key]))
    return list_of_tuples

但我得到以下输出:

[('x', 1), ('y', 2), ('z', 3)]

我想得到:

[(x, 1), (y, 2), (z, 3)]

【问题讨论】:

  • 你想打印对吗?
  • @Netwave 不,我想以那种形式保存它。
  • 那么xyz 是什么?变量?因为我认为您误解了那里的代码。

标签: python-3.x list dictionary tuples


【解决方案1】:

你的函数就是list(d.items()):

>>> list(d.items())
[('x', 1), ('y', 2), ('z', 3)]

对于以您想要的格式打印,只需使用str.format 进行您想要的表示:

>>> "[{}]".format(f", ".join(f"({k}, {v})" for k,v in d.items()) )
'[(x, 1), (y, 2), (z, 3)]'

【讨论】:

    【解决方案2】:
    d = {'x': 1, 'y': 2, 'z': 3}
    
    def dict_to_list_of_tuples(dic):
        list_of_tuples = []
        for key in dic:
            list_of_tuples.append((key, dic[key]))
        return list_of_tuples
    print(dict_to_list_of_tuples(d))
    print("[{}]".format(f", ".join(f"({k}, {v})" for k,v in dict_to_list_of_tuples(d)) ))
    
    

    【讨论】:

      猜你喜欢
      • 2018-11-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-28
      • 1970-01-01
      • 2017-11-15
      • 2020-10-14
      • 1970-01-01
      相关资源
      最近更新 更多