猿问

使用列表索引的元素总和列表

我试图找到厨房(18.0)和卧室面积(10.75)的总和


# Create the areas list

 areas = ["hallway", 11.25, "kitchen", 18.0, "living room", 20.0, "bedroom", 

10.75, "bathroom", 9.50]


 # Sum of kitchen and bedroom area: eat_sleep_area

 eat_sleep_area = sum(areas[3],areas[-3])


 # Print the variable eat_sleep_area

 print(eat_sleep_area)

但是当我尝试运行代码时,它说: TypeError: 'float' object is not iterable 另外我观察到,当我使用 min,max 等其他函数时,它工作得很好,谁能解释一下原因?


开满天机
浏览 203回答 5
5回答

幕布斯7119047

在 Python 中sum(iterable[, start])需要 iterable 作为第一个参数。考虑将您的参数包装在如下列表中:sum([areas[3],areas[-3]])

拉风的咖菲猫

对于这种事情,您需要使用字典,而不是列表:areas = {    'hallway': 11.25,    'kitchen': 18.0,    'living room': 20.0,    'bedroom': 10.75,    'bathroom': 9.50,}然后你可以像这样总结它们:result = areas['kitchen'] + areas['bedroom']字典允许按键查找。查看文档了解更多信息。

肥皂起泡泡

可以sum用add操作符代替from operator import addeat_sleep_area = add(areas[3],areas[-3]) # if you have only two entities to add otherwise use sum and pass an iterator或总和eat_sleep_area = add([areas[3],areas[-3]])
随时随地看视频慕课网APP

相关分类

Python
我要回答