【问题标题】:Python for key, value in dictionaryPython的键,字典中的值
【发布时间】:2015-06-04 19:55:00
【问题描述】:

所以现在这是我的代码:

for keys, values in CountWords.items():
    val = values
    print("%s: %s \t %s: %s" % (keys, val, keys, val))

当这个被打印出来时,它会输出这个键和它的值,然后在一个空格之后输出同样的东西。我想知道的是我是否可以获得第二个 %s: %s 从字典中选择下一个键和值。

【问题讨论】:

标签: python dictionary iteration key-value


【解决方案1】:

您可以保留当前的 ​​k-v 对并在下一次迭代中使用它们,而不是尝试获取下一个 k-v 对

d = {'foo': 'bar', 'fiz': 'baz', 'ham': 'spam'}

prev_key, prev_value = None, None

for key, value in d.items():
    if prev_key and prev_value:
        print("%s: %s \t %s: %s" % (prev_key, prev_value, key, value))
    prev_key, prev_value = key, value

fiz: baz     foo: bar
foo: bar     ham: spam

【讨论】:

  • perv 应该是 prev(ious)_key ?
【解决方案2】:

items() 方法返回一个元组列表。在for 循环内,您一次选择一个元素,您不能在循环内指向下一个元素。

【讨论】:

  • 有没有办法一次选择两个?
  • items() 返回一个列表,可以使用索引获取第i个元素,然后是第i+1个元素,但是一定要注意列表的长度。跨度>
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-05-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-22
  • 2013-08-27
相关资源
最近更新 更多