【问题标题】:Simple Nested loop? [duplicate]简单的嵌套循环? [复制]
【发布时间】:2020-12-20 20:48:41
【问题描述】:

关于嵌套循环的简单问题。

stocks = {'GE': 6.28, 'XOM': 39.8}
for quote in stocks.values():
    print(quote)

    for symbol in stocks.keys():
        print(symbol)

        print('You have purchased', symbol, 'for', quote)

输出:

GE
You have purchased GE for 39.8
XOM
You have purchased XOM for 39.8

为什么说GE 是在39.8 而不是6.28 购买的? 我试图缩进和缩进循环代码但没有运气。请帮忙?

【问题讨论】:

  • 这不是完整的输出,这将非常清楚地表明值和键是分开迭代的。

标签: python for-loop nested-loops


【解决方案1】:

字典(通常)没有排序。

您需要按照您遍历的顺序打印:

for k, v in stocks.items():
    print(k)
    print('You have purchased', k, 'for', v)

【讨论】:

    【解决方案2】:

    如果您尝试打印字典的键和值,则只需在一个 for 循环中解压缩:

    for symbol, quote in stocks.items():
        print(symbol)
        print('You have purchased', symbol, 'for', quote)
    

    【讨论】:

      【解决方案3】:

      这是python中字典的推荐迭代。

      stocks = {'GE': 6.28, 'XOM': 39.8}
      for key,value in stocks.items():
        print('You have purchased', key, 'for', value)
      

      【讨论】:

        猜你喜欢
        • 2014-11-11
        • 1970-01-01
        • 1970-01-01
        • 2015-01-15
        • 1970-01-01
        • 1970-01-01
        • 2015-03-21
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多