【问题标题】:too many values to unpack in iterating tuple including tuple [closed]在迭代元组中解包的值太多,包括元组[关闭]
【发布时间】:2020-07-31 08:34:22
【问题描述】:
metro_areas = [
        ('Tokyo', 'JP', 36,933, (35.689722, 139.591593)),
        ('Delhi NCR', 'IN', 21.935, (38.52938, 77.39456)),
        ('Mexico City', 'MX', 30.194, (19.3452, -99.18284)),
        ('New York-Newark', 'US', 20.104, (40.80381, -74.5821)),
        ('Sao Paulo', 'BR', 19.842, (-23,494921, -49.474743))
]

fmt = '{:15} | {:9.4f} | {:9.4f}'
for name, cc, pop, (latitude, longtitude) in metro_areas:
    if longtitude <= 0:
        print(fmt.format(name, latitude, longtitude))

运行代码出现错误

Traceback (most recent call last):
  File "tuple_unpacking.py", line 33, in <module>
    for name, cc, pop, (latitude, longtitude) in metro_areas:
ValueError: too many values to unpack (expected 4)

这与教科书中的代码完全相同,但出现错误。

我应该在代码中修复什么?

【问题讨论】:

  • 在第一行,你写的是36,933而不是36.933
  • 同样在最后一个纬度值:-23,494921应该是-23.494921

标签: python tuples unpack


【解决方案1】:

列表第一行有错别字,

('Tokyo', 'JP', 36,933, (35.689722, 139.591593)),

应该是,

('Tokyo', 'JP', 36.933, (35.689722, 139.591593)),

【讨论】:

  • 很好,但术语说明,在 Python 中,这是一个 list 而不是数组
  • @juanpa.arrivillaga 这是真的!我将对其进行编辑。
猜你喜欢
  • 2019-04-21
  • 1970-01-01
  • 2020-05-02
  • 1970-01-01
  • 2016-07-19
  • 1970-01-01
  • 2021-08-05
  • 2017-06-03
  • 2021-06-24
相关资源
最近更新 更多