如何获取一个数字字符串并检查python中是否有重复的数字?

如何获取一个数字字符串并检查python中是否有重复的数字?,python,numbers,duplicates,Python,Numbers,Duplicates,我将如何编写代码来检查字符串中的重复项 alist = [['123456789', '112345678', '123345678', '859403126']] (alist[0][0] = no duplicate) (alist[0][1] = duplicate) (alist[0][2] = duplicate) (alist[0][3] = no duplicate) 谢谢你的帮助 您可以尝试以下方法: "".join(set(alist[0][0])) 因此,您将在字符串中获

我将如何编写代码来检查字符串中的重复项

alist = [['123456789', '112345678', '123345678', '859403126']]
(alist[0][0] = no duplicate)
(alist[0][1] = duplicate)
(alist[0][2] = duplicate)
(alist[0][3] = no duplicate)

谢谢你的帮助

您可以尝试以下方法:

"".join(set(alist[0][0]))

因此,您将在字符串中获得一组唯一的字母,join()将以任意顺序将字母连接回字符串。完成此操作后,只需检查新字符串的长度是否与原始字符串相同。

创建
设置
并比较长度

>>> x = alist[0][0]
>>> len(set(x)) == len(x)
True

这张单子很难理解

dups = [[len(set(el)) != len(el) for el in el0] for el0 in alist]
产生

[[False, True, True, False]]
i、 e.
False
表示“无重复”,
True
表示“重复”

如果确实需要此类文字,请使用:

dups = [[ 'duplicate' if len(set(el)) != len(el) else 'no duplicate' for el in el0] for el0 in alist]
产生

[['no duplicate', 'duplicate', 'duplicate', 'no duplicate']]

首先,我认为帕乔利克的答案是最容易理解的。 受此启发,我提供了以下解决方案

import re
alist = [['123456789', '112345678', '123345678', '859403126']]
for i in alist[0]:
    print('alist[0][{}] = '.format(i),'duplicate' if re.search(r'.*?(.).*?\1',i) else 'no duplicate')