首页 > 解决方案 > Python - 如何用字符串计算二维列表中的整数?

问题描述

我应该创建一个程序来计算列表中的最高、最低和平均温度。列表包含月份名称、本月最高和最低温度:

  months =   [ ["January", 6,3],
               ["February", 7,3],
               ["March", 10,4],
               ["April", 13,6],
               ["May", 17,9],
               ["June", 20,12],
               ["July", 22,14],
               ["August", 21,14],
               ["September",19,12],
               ["October", 14,9],
               ["November", 10,6],
               ["December", 7,3] ]

我玩了一些代码来了解如何使用 for 循环计算最高温度,但它没有按计划工作:

for m in months:
        for temp in m:
            if temp > temp1:
                temp = maxTemp
                print(temp)
                

我正在接收 TypeError:'>' not supported between instances of 'str' and 'int'

在我的情况下,使用包含字符串的列表的正确方法是什么?

标签: pythonpython-3.x

解决方案


您正在通过列表中的所有元素运行 for 循环,仅查看温度,您可以使用

for m in months:
    for temp in m[1:]:

它只查看列表中的第二个和第三个元素的整数元素,并忽略第一个元素,它是一个字符串,不能与整数进行比较(这也是你的错误的根源)。


推荐阅读