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

如何检测二维列表各列重复元素并修改Python代码实现对应功能

解决方案

完整实现代码

import random

A = ['a', 'b', 'c', 'd', 'e']
# 初始化二维列表,初始带一个空行用于存储第一行元素
B = [[]]

count = 1
while True:
    current_char = random.choice(A)
    # 最后一行满5个元素就新增空行
    if len(B[-1]) == 5:
        B.append([])
    B[-1].append(current_char)
    
    print(B)
    
    # 逐列检测重复
    for col_idx in range(5):
        # 收集当前列所有有效元素
        col_chars = []
        for row in B:
            if len(row) > col_idx:
                col_chars.append(row[col_idx])
        # 统计字符出现次数
        char_cnt = {}
        for c in col_chars:
            char_cnt[c] = char_cnt.get(c, 0) + 1
        # 筛选重复字符
        duplicates = [c for c, cnt in char_cnt.items() if cnt >= 2]
        if duplicates:
            print(f"Warning, {', '.join(duplicates)} duplicate in {col_idx + 1} column")
    
    if count >= 10:
        break
    count += 1

修改说明

  • 调整列表B的结构为嵌套二维列表,每次添加元素前判断最后一行是否已满5个元素,满了就新增空行再写入,自动实现每行固定5个元素的存储格式。
  • 新增列重复检测逻辑:遍历1-5共5列,逐列收集所有行对应位置的有效元素,统计每个字符的出现次数,只要存在出现次数≥2的字符就按要求输出对应警告,列号从1开始计数符合常规表述习惯。
  • 修复了原代码中Waring的拼写错误为标准的Warning。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 18:09:01