2015-07-31 2 views
3

Я хочу посмотреть, есть ли способ узнать, имеет ли переменная эквивалентную переменную в списке.Python Проверьте, дублируется ли переменная в списке

a = 'hi' 

b = 'ji' 

c = 'ki' 

d = 'li' 

e = 'hi' 

letters = [a, b, c, d, e] 

Есть ли способ проверить, если какая-либо переменная (a) равна любой другой переменной (e). В этом случае вернуть True. Есть ли более быстрый способ, чем просто перечисление всех сравнительных сочетаний предложений?

ответ

4

Вы можете попробовать использовать следующее -

len(letters) != len(set(letters)) 

При преобразовании списка, чтобы установить, он удаляет повторяющиеся элементы из списка, так что если какой-либо элемент есть более чем один раз, в письмах, длину set(letters) будет меньше, чем длина исходного списка, и указанное выше условие вернет True.


Пример/Demo -

In [9]: a = 'hi' 

In [10]: b = 'ji' 

In [11]: c = 'ki' 

In [12]: d = 'li' 

In [13]: e = 'hi' 

In [14]: letters = [a, b, c, d, e] 

In [15]: len(letters) != len(set(letters)) 
Out[15]: True 

In [16]: letters = [a,b,c,d] 

In [17]: len(letters) != len(set(letters)) 
Out[17]: False 
+0

Есть ли способ вернуть дубликат переменного? – Slass33

+0

Для этого вы можете использовать 'collections.Counter', он будет подсчитывать количество элементов в буквах, а затем вы можете принимать элементы с более чем 1 счетом. –

+0

Я бы предложил зацикливать массив и создать dict, используя хэш элемента (строка в этом случае). Вы также можете идентифицировать дубликаты в цикле. – leesei

Смежные вопросы