【问题标题】:Accessing an integer dict key within the print function在 print 函数中访问整数 dict 键
【发布时间】:2013-10-28 08:32:23
【问题描述】:

运行正常:

x={'1':100,'2':200,'3':300}
print("I scored %(1)s"%x)

这不是:

x={1:100,2:200,3:300}
print("I scored %(1)s"%x)

如何修改 print() 语句,使其使用整数键 1 访问 dict 项?

【问题讨论】:

  • 请注意,您的问题不在于print() 语句(它实际上是一个函数,而不是语句),而在于应用于字符串的% 运算符。
  • 感谢 Martijn - 想知道我的问题有什么问题 - 很清楚 - 它相对一般 - 我意识到这是非常基本的,但这不是拒绝投票的标准。
  • FWIW,我赞成,因为您展示了您的尝试,我很清楚您期望的输出。文档确实提到了映射键由带括号的字符序列组成[s],但这相当晦涩难懂。
  • @MartijnPieters 谢谢...任何与C#Python 相关的问题,如果它们的先进程度不足以满足读者的口味,请投反对票! sql 社区更加宽容,问题几乎没有被否决。
  • 不,我不太同意这种评价。不要太担心这个。我们目前在 Python 社区中有一个脾气暴躁的成员(之前因过于居高临下而被临时禁止),你一定是在过于脾气暴躁的时候抓住了一些人。

标签: python string python-3.x string-formatting


【解决方案1】:

%(name)x 格式总是使用字符串在字典中查找名称。

改用较新的str.format() method

>>> x={1:100,2:200,3:300}
>>> "I scored {0[1]}".format(x)
'I scored 100'

【讨论】:

  • +1 感谢 Martijn - print("I scored {0[1]}".format(x)) 正是我想要的。
猜你喜欢
  • 2013-09-10
  • 1970-01-01
  • 1970-01-01
  • 2013-07-26
  • 2013-09-17
  • 1970-01-01
  • 2018-11-24
  • 1970-01-01
  • 2018-07-27
相关资源
最近更新 更多