You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在主列表中定位子列表内元素所属的子列表位置?

解决方法

你的问题出在all_orders.index(Burger)的逻辑错误——index()方法是在列表里找完全等于目标值的元素,但all_orders里的元素是子列表(比如customer_order1是[Burger]),不是Burger本身,所以肯定找不到,报错是正常的。

要找到包含Burger的子列表在all_orders中的索引,可以用下面的代码:

方法一:循环遍历(新手友好)

target_index = None
# 用enumerate同时获取索引和子列表
for idx, sublist in enumerate(all_orders):
    # 检查子列表里是否有Burger
    if Burger in sublist:
        target_index = idx
        break  # 找到后直接退出循环

if target_index is not None:
    # 这里写你后续的逻辑,比如用target_index代替原来的0
    print(f"Burger所在子列表的索引是:{target_index}")
    # 示例后续逻辑:
    # if target_index == 0:
    #     print(" ")
    #     for y in range(int(number_of_orders1[0])):
    #         print("🍔", end=" ", flush=True)
else:
    print("未找到包含Burger的子列表")

方法二:一行式(进阶写法)

如果想简化代码,可以用生成器表达式结合next():

# 找到第一个包含Burger的子列表索引,找不到返回None
target_index = next((idx for idx, sublist in enumerate(all_orders) if Burger in sublist), None)

补充说明

你之前用的any({Burger}.issubset(sublist) for sublist in all_orders)能检测到存在,是因为issubset()是检查Burger是否在子列表里,和直接找元素是否等于Burger是两回事。

内容的提问来源于stack exchange,提问作者DennyZenny

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 11:12:45