【问题标题】:Dictionary just show key and count字典只显示键和计数
【发布时间】:2018-08-01 20:30:09
【问题描述】:

我有一本带两个键的字典。

my_dict = {"Hello": {'count': 2, 'distance': 6}, "Clear": {'count': 8, 'distance': 8}}

我正在使用

a = ''.join(''.join((k, str(v))) for k,v in my_dict.items())

将其转换为要打印的字符串:

"Hello" {'count': 2, 'distance': 6L} "Clear" {'count': 8, 'distance': 9L} 

我想知道如何才能获得密钥和计数 打印:

"Hello" - count: 2
"Clear" - count: 8

【问题讨论】:

  • 你的代码有语法错误..
  • 更改 my_dict 的语法。
  • 很难理解您的问题,但听起来您想要来自 collections 模块的 Counter 对象。 Here 是 Counter 对象的文档
  • 对不起!我的代码的前一部分为我分配了字典。

标签: python string dictionary


【解决方案1】:

如果d

>>> d = {"Hello": {'count': 2, 'distance': 6}, "Clear": {'count': 8, 'distance': 8}}

然后

>>> x = '\n'.join('{k} - {n}: {v}'.format(k=k, n='count', v=v['count']) for k,v in d.items())
>>> print(x)

Hello - count: 2
Clear - count: 8

【讨论】:

  • 您好,我也在尝试添加距离并使用代码:a = '\n'.join('{k} - {n}: {v} {m} : {p}'.format(k=k, n='count', v=v['count'] , m='distance', p= p['distance']) for k,v in d.items ())
  • ^这似乎不起作用。您能否解释一下您所代表的内容是如何添加计数值以便我也可以添加距离?
  • @girlwhocodes v 是您的key, value 元组(我称之为k,v)中的value。这个 k,v 元组循环通过d.items(),这是一个keu, value 元组的序列。因此,使用v['distance'] 而不是p[distance]
【解决方案2】:

假设您有一个嵌套字典,您可以将print 与解压缩的生成器表达式一起使用。 str.format 是从字典中提取相关数据的一种方法:

my_dict = {"Hello": {'count': 2, 'distance': 6},
           "Clear": {'count': 8, 'distance': 8}}

print(*('{} - count: {}'.format(i, d[i]['count']) for i in d), sep='\n')

Hello - count: 2
Clear - count: 8

【讨论】:

    【解决方案3】:

    如果我的理解是正确的,这样的事情会起作用,

    keys = list(my_dict.keys())
    
    for key in keys:
        s = '"' + key
        s += '" - count: ' + str(my_dict[key]['count'])
        print(s)
    

    这将打印您所描述内容的列表。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-05-02
      • 2014-04-29
      • 1970-01-01
      • 1970-01-01
      • 2020-03-22
      • 1970-01-01
      • 1970-01-01
      • 2017-02-23
      相关资源
      最近更新 更多