Python 列表是否支持浮点数?什么时候需要浮点数无法做到的整数?



我的赋值代码在整数上工作正常,但我意识到它不能接受十进制和货币值,因为价格有小数。以为我可以轻松地将所有 int 输入更改为浮点输入,我收到了此错误消息。 类型错误:列表索引必须是整数或切片,而不是浮点数

代码片段例如:

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)

问题:

  1. 这是否意味着Python列表项"索引"只能是一个整数 (0,1,2(?
  2. 这是否也意味着没有整数的常见论点 可以做到浮点数不能,不再是真的,因为列表附加, 编辑正是需要 int 而 float 不能的地方。

参考: 文章编号: 20452189 - "为什么我应该使用 int 而不是浮点数?">

列表索引必须是从 0 到 n-1 的整数,其中 n 是列表的长度。它还允许在该范围内进行负索引以反向访问元素。

List 只存储 n 个项目,我们只需要这些整数范围来访问存储的数据。

如果你得到 1.0,你总是可以使用 int(( 将其转换为 int,但如果你最终得到一个浮点数,你应该问一个问题,为什么你最终会得到一个浮点数来访问数据。从某种意义上说,编程不仅仅是数学,我们想做一些阻止错误的事情。

最新更新