TypeError:“浮动”对象不可下标
Posted
技术标签:
【中文标题】TypeError:“浮动”对象不可下标【英文标题】:TypeError: 'float' object is not subscriptable 【发布时间】:2013-11-28 06:52:02 【问题描述】:PizzaChange=float(input("What would you like the new price for all standard pizzas to be? "))
PriceList[0][1][2][3][4][5][6]=[PizzaChange]
PriceList[7][8][9][10][11]=[PizzaChange+3]
基本上我有一个输入,用户将输入一个数字值(浮点输入),然后它将所有上述列表索引设置为该值。出于某种原因,我无法在没有提出以下建议的情况下设置它们:
TypeError: 'float' object is not subscriptable
错误。我做错了什么还是我只是看错了?
【问题讨论】:
哪一行产生了错误? 我得到同样的错误:TypeError: 'float' object is not subscriptable
在这一行:print("%s: %.2f%%" % (model.metrics_names[0], scores[0]*100))
从这段代码:machinelearningmastery.com/… 怎么了??
【参考方案1】:
您没有使用 PriceList[0][1][2][3][4][5][6] 选择多个索引,而是每个 [] 都进入一个子索引。
试试这个
PizzaChange=float(input("What would you like the new price for all standard pizzas to be? "))
PriceList[0:7]=[PizzaChange]*7
PriceList[7:11]=[PizzaChange+3]*4
【讨论】:
这个问题是它只用一个值替换那些索引。例如,当我在输入 List=[3,3,3,3, 3,3,3,7,8,9,10,11]. 看我上面的编辑,乘以你要替换的项目数【参考方案2】:PriceList[0]
是一个浮点数。 PriceList[0][1]
正在尝试访问浮点数的第一个元素。相反,做
PriceList[0] = PriceList[1] = ...code omitted... = PriceList[6] = PizzaChange
或
PriceList[0:7] = [PizzaChange]*7
【讨论】:
从 0 到 7 的切片有 7 个元素,而不是 6 个。 非常感谢各位先生。【参考方案3】:PriceList[0][1][2][3][4][5][6]
这说:转到我收藏的第一项PriceList
。那东西是一个集合;得到它的第二个项目。那东西是一个集合;获得它的第三个...
相反,您想要切片:
PriceList[:7] = [PizzaChange]*7
【讨论】:
【参考方案4】:PizzaChange=float(input("What would you like the new price for all standard pizzas to be? "))
for i,price in enumerate(PriceList):
PriceList[i] = PizzaChange + 3*int(i>=7)
【讨论】:
【参考方案5】:您似乎正在尝试将 PriceList 的元素 0 到 11 设置为新值。语法通常如下所示:
prompt = "What would you like the new price for all standard pizzas to be? "
PizzaChange = float(input(prompt))
for i in [0, 1, 2, 3, 4, 5, 6]: PriceList[i] = PizzaChange
for i in [7, 8, 9, 10, 11]: PriceList[i] = PizzaChange + 3
如果它们总是连续的范围,那么写起来就更简单了:
prompt = "What would you like the new price for all standard pizzas to be? "
PizzaChange = float(input(prompt))
for i in range(0, 7): PriceList[i] = PizzaChange
for i in range(7, 12): PriceList[i] = PizzaChange + 3
供参考,PriceList[0][1][2][3][4][5][6]
指的是“元素6的元素5的元素4的元素3的元素2的元素1的元素0的PriceList
。换句话说,它与((((((PriceList[0])[1])[2])[3])[4])[5])[6]
相同。
【讨论】:
以上是关于TypeError:“浮动”对象不可下标的主要内容,如果未能解决你的问题,请参考以下文章
Matplotlib:TypeError:'AxesSubplot'对象不可下标[重复]
Anvil 错误:TypeError:“NoneType”对象不可下标
Spotipy:尝试访问播放列表时,“TypeError:'NoneType' 对象不可下标”
BeautifulSoup:TypeError:“NoneType”对象不可下标