Список Python: проверьте, все ли элементы одинаковы или нет - PullRequest
0 голосов
/ 10 ноября 2018

У меня есть список Python со строками, и я хочу проверить, все ли значения элементов списка одинаковы или нет. Я пытался использовать с условием if/then, но мне нужно проверить все комбинации значений списка, и если в списке много элементов, тогда нужно много жесткого кода

if item1 != item1 and item1 != item2 and item1 !=item2 ....... :
    check='wrong'
else:
    check= 'correct'

Список строк

listOfStrings = ['ep:1000' , 'ep:4444', 'ep:1000', 'ep:1000', 'ep:1000', 'ep:1000']

ОБНОВЛЕНИЕ

ПРИМЕР:

CORRECT_LIST = ['ep:1000' , 'ep:1000', 'ep:1000', 'ep:1000', 'ep:1000', 'ep:1000']

В правильном списке все значения элементов одинаковы, тогда мой список правильный

WRONG_LIST = ['ep:1000' , 'ep:4444', 'ep:1000', 'ep:1000', 'ep:1000', 'ep:1000']

WRONG_LIST в неправильном списке не все значения элементов строки являются некоторые

Я хочу сделать эту проверку для списка значений.

Есть идеи, как проверить, все ли значения элементов в списке одинаковы или нет?

Ответы [ 3 ]

0 голосов
/ 10 ноября 2018

Предоставленный вами фрагмент кода выглядит немного странно. Но если я правильно понимаю, вы пытаетесь проверить количество уникальных значений в списке.

Один из способов сделать это - преобразовать его в набор и проверить его длину.

len(set(listOfStrings))

Обновлено для включения фрагмента рабочего кода от @iGian:

check = 'wrong' if len(set(list_of_strings)) > 1 else 'correct'
0 голосов
/ 10 ноября 2018

Сравнивает каждый элемент списка с первым:

listOfStrings = ['ep:1000' , 'ep:4444', 'ep:1000', 'ep:1000', 'ep:1000', 'ep:1000']
check = all(x == listOfStrings[0] for x in listOfStrings)

И возвращает false для вашего теста.

0 голосов
/ 10 ноября 2018

В правильном списке все значения элементов одинаковы, тогда мой список правильный

Если вы хотите проверить, все ли элементы списка одинаковы, вы можете проверить, равна ли длина набора списка 1:

set((listOfStrings)) == 1 

Для набора характерно то, что каждый элемент уникален именно для этого набора.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...