(๑•॒̀ ູ॒•́๑)嘟嘟嘟 2022-04-15 08:17 采纳率: 73.7%
浏览 55
已结题

Python列表索引必须是整数或片,而不是列表如何解决

问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图
'''
1.将下列鸡尾酒的数据保存为字典数据,并回答下列问题
(1)哪些鸡尾酒含有伏特加?
(2)那些鸡尾酒是含有伏特加,但是不含有乳糖或者苦艾酒的?
'''
mydisc = {"马提尼":["伏特加","苦艾酒"],"黑俄罗斯":["伏特加","咖啡酒"],"白俄罗斯":["乳糖","咖啡酒","伏特加"],"曼哈顿":["黑麦威士忌","苦艾酒","比特酒"],"螺丝起子":["橙汁","伏特加"]}
a = list(mydisc.values())

for i in a:
#i = 0,i=1,i=2,i=3,i=4
    if "伏特加" in a[i]:
        b = list(mydisc.keys())[list(mydisc.values()).index(a[i])]
        print(b)

运行结果及报错内容

Traceback (most recent call last):
File "E:\pythonProject\venv\test9.py", line 6, in
if "伏特加" in a[i]:
TypeError: list indices must be integers or slices, not list

我的解答思路和尝试过的方法
我想要达到的结果

遍历a[i]

  • 写回答

1条回答 默认 最新

  • A Python 萌新花花 2022-04-15 08:42
    关注

    你a = list(mydisc.values())的时候,相当于把字典里的值存进了一个list里面。这时候你要注意,存进去的是原来的值,就是以list形式存进去的。你明显把这个当成了会把值的那个list拆开,变成str存进去。事实上你这个代码创造了一个二维数组。
    你只要把所有的a[i]改成 i 就好了。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 4月15日
  • 已采纳回答 4月15日
  • 创建了问题 4月15日

悬赏问题

  • ¥15 关于Ubuntu20.04.3LTS遇到的问题:在安装完CUDA驱动后,电脑会进入卡死的情况,但可以通过键盘按键进入安全重启,但重启完又会进入该情况!
  • ¥15 关于#嵌入式硬件#的问题:树莓派第一天重装配置python和opencv后第二天打开就成这样,瞎捣鼓搞出来文件夹还是没把原来的界面调回来
  • ¥20 Arduino 循迹小车程序电路出错故障求解
  • ¥20 Arduino 循迹小车程序电路出错故障求解
  • ¥100 AT89C52单片机C语言调试之后再回答
  • ¥15 AT89C52单片机C语言串口助手发送数据包返回值
  • ¥15 C++数组中找第二小的数字程序纠错
  • ¥15 wannier复现图像时berry曲率极值点与高对称点严重偏移
  • ¥15 利用决策森林为什么会出现这样·的问题(关键词-情感分析)
  • ¥15 DispatcherServlet.noHandlerFound No mapping found for HTTP request with URI[/untitled30_war_e