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

Python如何从嵌套列表中查找指定字符串并打印其所在行

问题原因

你的代码存在两处核心问题:

  • 嵌套列表定义不合法:你给出的new_list外层缺少方括号包裹,不是合法的列表结构,运行会直接报错
  • 匹配逻辑错误:你直接判断输入字符串是否存在于外层列表,但外层列表的元素是整行对应的子列表,不可能直接匹配到子列表内部的字符串片段;同时默认的匹配是区分大小写的,无法实现输入小写ste匹配到大写开头的Stephen的需求

修复后可运行代码

# 正确定义嵌套列表
new_list = [
    ['An American', 'Barack Obama', '4.7', '18979'],
    ['An Indian', 'Mahatma Gandhi', '4.7', '18979'],
    ['A Canadian', 'Stephen Harper', '4.6', '19234']
]

find_string = input("Enter a string you're looking for: ")
# 统一转小写实现大小写不敏感匹配
find_lower = find_string.lower()
found = False

# 遍历每一行数据
for row in new_list:
    # 检查当前行的每个元素是否包含关键词
    for item in row:
        if find_lower in item.lower():
            print(f"匹配关键词:{find_string},所在行数据:{row}")
            found = True
            # 匹配到后跳出当前行遍历,避免同一行多次打印
            break

if not found:
    print("String not found!")

运行效果示例

输入ste时,输出如下:

匹配关键词:ste,所在行数据:['A Canadian', 'Stephen Harper', '4.6', '19234']

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 23:48:00