如何查找Python列表程序中的错误?



出现如下错误:

Traceback(最近一次调用):

File "script.py",第16行pizza_and_prices.sort ()TypeError: '<'在'str'和'int'实例之间不支持

程序是这样写的:

toppings = ['pepperoni', 'pineapple', 'cheese', 'sausage', 'olives', 'anchovie', 'mushrooms']
prices = [2,6,1,3,2,7,2]
num_two_dollar_slices = prices.count(2)
num_pizzas = len(toppings)
print('We sell ' + str(num_pizzas) + ' different kinds of pizza!')
pizza_and_prices = prices + toppings
print(pizza_and_prices)
pizza_and_prices.sort()
cheapest_pizza = pizza_and_prices[0]
priciest_pizza = pizza_and_prices[-1]
pizza_and_prices.pop()
pizza_and_prices.append(2.5,'peppers')
pizza_and_prices.sort()
three_cheapest = pizza_and_prices[0:3]
print(three_cheapest)

pizza_and_prices = prices + toppings

当你运行这段代码时,会发生什么呢?它将pricestoppings组合成一个列表

[2, 6, 1, 3, 2, 7, 2, 'pepperoni', 'pineapple', 'cheese', 'sausage', 'olives', 'anchovie', 'mushrooms']

这个列表现在既包含整数也包含字符串。在python中,你不能比较int和str,所以你不能对两者都有的列表进行排序。

在这种情况下pizza_and_prices.sort()将返回一个错误。

相关内容