如何获取一个数字字符串并检查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')