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

检查两个数组元素:判断date数组中的姓名是否存在于name数组中

数组中姓名存在性判断的正确实现

先说说你原代码里的几个问题:

  • 变量名写错了:你定义的数组是date,但循环里用了data,运行会直接报NameError
  • 循环逻辑完全乱了:每次循环都把x重置为0,而且手动修改i的值根本没用——for循环的i是由range()自动控制的
  • 用name.index()不合适:这个方法找不到元素会直接抛错,而你的需求只是判断是否存在,不需要获取索引

针对你的需求,正确的思路是:先从date的全名里提取出名字部分(空格分隔的第一个字符串),再检查这个名字是否在name数组里。下面是两种实现方式:

基础遍历输出

date = ['Olivia Smith', 'Jacob Williams', 'Jessica Taylor', 'Harry Miller']
name = ['Olivia', 'Jessica', 'Jacob', 'James']

for full_name in date:
    first_name = full_name.split()[0]
    if first_name in name:
        print(f"{first_name} 存在于name数组中")
    else:
        print(f"{first_name} 不存在于name数组中")

批量获取结果(适合后续处理)

如果需要把结果存成列表,或者数据量比较大,建议把name转成集合——集合的查找效率比数组高很多:

date = ['Olivia Smith', 'Jacob Williams', 'Jessica Taylor', 'Harry Miller']
name = ['Olivia', 'Jessica', 'Jacob', 'James']

name_set = set(name)
exists_result = [full_name.split()[0] in name_set for full_name in date]

print(exists_result)  # 输出: [True, True, True, False]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 07:10:27