python - 如何确定嵌套列表中的所有元素是否唯一?

标签 python python-3.x list nested duplicates

我是这里的初学者,真的需要一些帮助。

我必须确定二维列表中的所有元素是否都是唯一的。例如,如果给定一个二维列表 my_list = [[1,2,2],[4,5,2],[7,2,9]],我必须写一个代码会说,“这个列表没有所有唯一元素”,因为有多个 2。我必须使用嵌套循环编写代码。

这是我目前所拥有的:

my_list = [[1,2,2],[4,5,2],[7,2,9]]             
for row in my_list:
    for num in row:    
        if row.count(num) > 1:
            print("Duplicate")
        else:
            print("No duplicate", num)

此代码可以检测到 my_list 的第一个列表中的重复 2,但不能检测到第二个列表。

最佳答案

要在不首先展平列表列表的情况下执行此操作,您可以使用一个集合来跟踪已“看到”的项目,这样您就可以确定迭代中的当前项目是否存在重复项已经在集合中:

seen = set()
for sublist in my_list:
    for item in sublist:
        if item in seen:
            print('Duplicate')
            break
        seen.add(item)
    else:
        continue
    break
else:
    print('No duplicate')

关于python - 如何确定嵌套列表中的所有元素是否唯一?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60936204/

相关文章:

python - (Python/Django) : How do I keep my production db in sync (scheme and data) and with dev pc db?

python - 设计一个should_throttle函数,根据一定的时间窗口限制请求

python - 在wireshark中看不到OPCUA协议(protocol)

c++ - 随机化一个 std::list<std::string>

python - 使用带有列的 DataFrame 作为 str.format() 的命名参数

python - pip在python3.6上安装Django

python - 如何从列表中获取二维列表但在另一个列表中定义形状

python - imap 与 grequests 库中的 map

r - 对作为函数输出的列表进行子集化,而不将输出声明为变量

python - 将双端队列对象转换为列表