You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何排查Python列表程序中的错误?附报错信息及代码

错误原因及修复方案

核心错误1:混合类型列表无法排序

你执行pizza_and_prices = prices + toppings时,直接将整数类型的价格列表与字符串类型的配料列表拼接,得到的列表同时包含int和str两种元素:

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

Python的sort()方法无法比较不同类型的元素,因此抛出TypeError: '<' not supported between instances of 'str' and 'int'。

核心错误2:append()方法参数使用违规

代码中的pizza_and_prices.append(2.5,'peppers')不符合语法,append()只能接收一个参数,传入两个值会触发另一个TypeError。


修复后的代码示例

正确的做法是将价格与对应配料配对成元组,组成元组列表后再排序(默认按元组第一个元素即价格排序):

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 = list(zip(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[:3]
print(three_cheapest)

内容的提问来源于stack exchange,提问作者nikam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 02:05:09