如何通过索引判断随机生成的4个数是否存在于合并列表中
解决Python列表元素存在性遍历检查问题
以下是完整的实现代码,包含生成随机列表、逐元素比较、合并排序,以及遍历检查new_num中所有元素是否存在于合并后的列表中:
import random # 生成两个随机整数列表(长度设为5,可按需调整) lst1 = [random.randint(1, 20) for _ in range(5)] lst2 = [random.randint(1, 20) for _ in range(5)] print("列表1:", lst1) print("列表2:", lst2) # 逐元素比较大小 print("\n逐元素比较结果:") for num1, num2 in zip(lst1, lst2): if num1 > num2: print(f"{num1} > {num2}") elif num1 < num2: print(f"{num1} < {num2}") else: print(f"{num1} = {num2}") # 合并两个列表并排序 combined_lst = sorted(lst1 + lst2) print("\n合并排序后的列表:", combined_lst) # 生成4个随机数存入new_num new_num = [random.randint(1, 20) for _ in range(4)] print("\n待检查的new_num列表:", new_num) # 索引方式遍历检查所有元素 print("\n索引方式检查结果:") for i in range(len(new_num)): current_num = new_num[i] if current_num in combined_lst: print(f"new_num[{i}] = {current_num} 存在于combined_lst中") else: print(f"new_num[{i}] = {current_num} 不存在于combined_lst中") # 更简洁的直接遍历元素方式(推荐) print("\n直接遍历元素检查结果:") for num in new_num: status = "存在" if num in combined_lst else "不存在" print(f"{num} {status}于combined_lst中")
关键说明
- 索引遍历:用
range(len(new_num))获取所有索引值,循环中通过new_num[i]取出对应元素进行存在性判断,就能覆盖new_num里的全部元素,而不只是索引0。 - 直接遍历:如果不需要用到索引,直接遍历
new_num的元素会更简洁,代码可读性更高。
内容的提问来源于stack exchange,提问作者PaPa_Josh
相关产品推荐
相关产品推荐

