Python列表支持浮点吗?什么时候需要整数而float不能?
我的赋值代码可以很好地处理整数,但我意识到它不能接受十进制和货币值,因为价格有小数。我认为我可以很容易地将所有int输入更改为float输入,因此得到了这个错误消息。 TypeError:列表索引必须是整数或片,而不是浮点 例如,代码片段是:Python列表支持浮点吗?什么时候需要整数而float不能?,python,python-3.x,Python,Python 3.x,我的赋值代码可以很好地处理整数,但我意识到它不能接受十进制和货币值,因为价格有小数。我认为我可以很容易地将所有int输入更改为float输入,因此得到了这个错误消息。 TypeError:列表索引必须是整数或片,而不是浮点 例如,代码片段是: electronics = [ ["Sony cam","camera",199],["MS mouse","computer",299], ["ABC speakers","speaker",399]] editinput = input("Select
electronics = [
["Sony cam","camera",199],["MS mouse","computer",299],
["ABC speakers","speaker",399]]
editinput = input("Select a product to edit. \n")
#somehow this cannot be float
editindex = float(editinput)-1
editprice = input("Price SGD $: \t")
# Changing editing an item in a nested list
electronics[editindex][2] = float(editprice)
问题:
参考:文章编号:20452189-“为什么我应该使用整数而不是浮点数?”列表索引必须是从0到n-1的整数,其中n是列表的长度。它还允许范围内的负索引以反向访问元素 列表正好存储n个项目,我们只需要这些整数范围就可以访问存储的数据
如果给定1.0,则始终可以使用int()将其强制转换为int,但如果以浮点结尾,则应该问这样一个问题:为什么以浮点结尾来访问数据。从某种意义上说,编程不仅仅是数学,我们希望做一些阻止bug的事情 谈论清单中的第2.59项有意义吗?要将浮动映射到其他对象,可以使用字典。是的,它们只能是整数(正整数)。1b。根据需要,浮点和整数有不同的用途。具体计算通常使用浮点或双精度。intI不了解的任何其他内容,您(例如)希望通过电子产品[5.5][2]实现什么目标,您希望访问列表中的哪个元素?列表只包含一些东西。这些都是可以计算的。比如1,2,3。清单中的3.5条对你来说意味着什么?还有,回答你的问题。Python列表确实支持浮点。您可以将浮动添加到列表中:[1.1、2.3、5.5]等。
editindex
中使用的[…,]
是一个索引,是列表中的一个位置。它必须是一个整数。该位置的项可以是任何内容—数字、字符串、其他列表等。您似乎混淆了值和索引。