Как сравнить все элементы списка друг с другом?
Программа должна вывести a и are, т.к. a является подстрокой are (are начинается с a) Вопрос: Как в цикле пройтись по КАЖДОМУ элементу списка? Например текущий со следующим можно сравнить с помощью цикла
for i in range(len(spisok)): if spisok[i].startsith(spisok[i+1]): .
Но как сравнить ВСЕ элементы друг с другом?
Отслеживать
67.9k 216 216 золотых знаков 77 77 серебряных знаков 219 219 бронзовых знаков
Сравнить каждого элемента списка с каждым элементом другого списка
Здравствуйте!
Задача состоит в следующем:
Даны два списка, они могут быть не равны по количеству элементов. Необходимо сравнить каждый элемент первого списка с каждым элементом второго списка, если он удовлетворяет условию, то идти дальше к следующему элементу списка, если нет, то нужно остановиться и достать индексы элементов двух списков.
х1 = [1;2;3;2;2;4;4] х2 = [3;2.5;4;4.5;3.5;2.5;5;5]
Теперь берем первый элемент в списке х1 и проверяем меньше он или равен каждому элементу в списке х2:
1 1 1 1 1 1 1 1
Берем следующий элемент в списке х1, сравниваем. и так далее
Если попадается элемент больше чем в списке х1:
То нужно остановиться и узнать индексы чисел, которые не удовлетворяют условию: 3 (индекс 2) и 2.5 (индекс 1) в списках х1 и х2 соответственно. Так как по условию дальше могут встречаться такие же значения. Вывод -: х1 -номер индекса/число, х2-номер индекса/число.
После получения индексов нужно вернутся к сравнению со следующего числа в списке х1 — 2( индекс 3), и так провести сравнение до конца списка х1. И показать все несоответствия. Порядок важен, на выходе несоответствия должны быть по порядку появления.
Ответ к примеру должен получиться таким, что бы можно было продолжить вычисления с полученными значениями:
1) х1.1 — (2) 3
х2.1 -(1) 2.5
2) х1.2 — (5) 4
х2.2 -(0) 3
3) х1.3 -(6)4
х2.3 -(0) 3
Проверить и сравнить элементы списка
Как проверить и написать условие, чтобы ни один из элементов списка a[] не входил в список b[]:
есть два списка
goodbye = ['пока', 'прощай', 'досвидания', 'бб', 'до встречи', 'удачи', 'бывай', 'гудбай'] talk = ['приятно', 'было', 'пообщаться', 'пока']
нужно создать такое условие, которое проверяет, что ни один из элементов спиcка talk не входит в список goodbye
(если что, список talk наполняется словами из предложения, которое ввёл пользователь)
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Сравнить элементы внутри массива(списка)
Здраствуйте, такой вопрос, есть список m = Как можно сравнить элементы m и m, может есть.
Сравнить элементы внутри массива (списка), удалить повторы
Сравнить элементы внутри одномерного массива(списка), количество элементов может быть разное, и.
Проверить, возможно ли получить все элементы заданного списка, из какого-либо другого списка с помощью одного среза
Вам дается список индексов. Вы должны проверить, возможно ли получить все элементы, указанные в.
Сравнить элементы datagridview и списка
Здравствуйте, помогите разобраться, есть dataGridView1 в нем последовательности такого вида: 2 1.
Регистрация: 20.09.2018
Сообщений: 21
1 2 3 4 5
for i in talk: # i - каждый отдельный элемент списка talk if i in goodbye: # если текущий проверяемый элемент списка talk присутствует в списке goodbye #твой код здесь # то произойдёт нечто, что ты определишь в коде else: #иначе #твой код здесь # произойдёт что-то другое
Если важно, чтобы элементы одного списка именно что не входили в другой список, то in заменяется на not in
36829 / 19877 / 4166
Регистрация: 12.02.2012
Сообщений: 33,013
Записей в блоге: 13
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
def inters(x1,x2): r=[] for a in x1: if a in x2: r+=[a] return r def check(x1,x2): return inters(x1,x2)==[] goodbye = ['пока', 'прощай', 'досвидания', 'бб', 'до встречи', 'удачи', 'бывай', 'гудбай'] talk = ['приятно', 'было', 'пообщаться', 'пока'] if check(goodbye,talk): print("Нет пересечений") else: print("Есть пересечения")
3850 / 2138 / 566
Регистрация: 02.09.2015
Сообщений: 5,425
set(goodbye).isdisjoint(set(talk))
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь
Как сравнить элементы списка (List<>)
using System; using System.Collections.Generic; using System.Linq; using System.Text; using.
Сравнить элементы кортежей списка. List Comprehension!
mytupels = , y <- , z <- , x /= y, y/=z, x/=z, x/=1 ] Создаю кортежи из всех возможных.
Как сравнить друг с другом все элементы списка?
Для поиска коллизий в расписании необходимо взять список классов, и сравнить все его элементы (там.
Проверить элементы списка на уникальность
Привет всем, возникла небольшая проблема. У меня есть список, но там не числовые данные, а.
Проверить, упорядочены ли элементы списка по алфавиту
Уважаемые форумчане, помогите с написанием кода для задачи)) Необходимо написать функцию.
Проверить, упорядочены ли элементы списка по алфавиту
Огромная просьба помогите с написание кода для задачки: Необходимо написать функцию, которая.
Проверить, все ли элементы списка нули
Проверить все ли элементы списка нули. Пример: zerolispis() No zerolispis() Yes
Примеры работы со списками Python
Список Python — это последовательность значений любого типа: строки, числа, числа с плавающей точкой или даже смешанного типа. В этом материале речь пойдет о функциях списков, о том, как создавать их, добавлять элементы, представлять в обратном порядке и многих других.
Создать списки Python
Для создания списка Python нужно заключить элементы в квадратные скобки:
my_list = [1, 2, 3, 4, 5]
Список может выглядеть так:
my_list = ['один', 'два', 'три', 'четыре', 'пять']
Можно смешивать типы содержимого:
my_list = ['один', 10, 2.25, [5, 15], 'пять']
Поддерживаются вложенные списки как в примере выше.
Получать доступ к любому элементу списка можно через его индекс. В Python используется система индексации, начиная с нуля.
third_elem = my_list[2]
Принцип похож на строки.
Изменение списка
Списки — это изменяемые объекты, поэтому их элементы могут изменяться, или же может меняться их порядок.
Если есть такой список:
my_list = ['один', 'два', 'три', 'четыре', 'пять']
То его третий элемент можно изменить следующим образом:
my_list[2] = 'ноль'
Если сейчас вывести его на экран, то он будет выглядеть вот так:
['один', 'два', 'ноль', 'четыре', 'пять']
Если индекс — отрицательное число, то он будет считаться с последнего элемента.
my_list = ['один', 'два', 'три', 'четыре', 'пять'] elem = my_list[-1] print(elem)
Вывод этого кода — ‘пять’.
Проход (итерация) по списку
Читать элементы списка можно с помощью следующего цикла:
my_list = ['один', 'два', 'три', 'четыре', 'пять'] for elem in my_list: print(elem)
Таким образом можно читать элементы списка. А вот что касается их обновления:
my_list = [1, 2, 3, 4, 5] for i in range(len(my_list)): my_list[i]+=5 print(my_list)
Результат будет следующим:
[6, 7, 8, 9, 10]
Функция len() используется для возврата количества элементов, а range() — списка индексов.
Стоит запомнить, что вложенный список — это всегда один элемент вне зависимости от количества его элементов.
my_list = ['один', 10, 2.25, [5, 15], 'пять'] print(len(my_list))
Результат кода выше — 5 .
Срез списка
Можно получить срез списка с помощью оператора ( : ):
my_list = ['один', 'два', 'три', 'четыре', 'пять'] print(my_list[1:3])
Результат кода выше — [‘два’, ‘три’]
Если убрать первое число, от срез будет начинаться с первого элемента, а если второе — с последнего.
Если убрать числа и оставить только двоеточие, то скопируется весь список.
my_list = ['один', 'два', 'три', 'четыре', 'пять'] print(my_list[1:3]) print(my_list[1:]) print(my_list[:3]) print(my_list[:])
Результат этого года:
['два', 'три'] ['два', 'три', 'четыре', 'пять'] ['один', 'два', 'три'] ['один', 'два', 'три', 'четыре', 'пять']
Поскольку списки изменяемые, менять элементы можно с помощью оператора среза:
my_list = ['один', 'два', 'три', 'четыре', 'пять'] my_list[1:3] = ['Привет', 'Мир'] print(my_list)
['один', 'Привет', 'Мир', 'четыре', 'пять']
Вставить в список
Метод insert можно использовать, чтобы вставить элемент в список:
my_list = [1, 2, 3, 4, 5] my_list.insert(1,'Привет') print(my_list)
[1, 'Привет', 2, 3, 4, 5]
Индексы для вставляемых элементов также начинаются с нуля.
Добавить в список
Метод append можно использовать для добавления элемента в список:
my_list = ['один', 'два', 'три', 'четыре', 'пять'] my_list.append('ещё один') print(my_list)
['один', 'два', 'три', 'четыре', 'пять', 'ещё один']
Можно добавить и больше одного элемента таким способом:
my_list = ['один', 'два', 'три', 'четыре', 'пять'] list_2 = ['шесть', 'семь'] my_list.extend(list_2) print(my_list)
['один', 'два', 'три', 'четыре', 'пять', 'шесть', 'семь']
При этом list_2 не поменяется.
Отсортировать список
Для сортировки списка нужно использовать метод sort .
my_list = ['cde', 'fgh', 'abc', 'klm', 'opq'] list_2 = [3, 5, 2, 4, 1] my_list.sort() list_2.sort() print(my_list) print(list_2)
['abc', 'cde', 'fgh', 'klm', 'opq'] [1, 2, 3, 4, 5]
Перевернуть список
Можно развернуть порядок элементов в списке с помощью метода reverse :
my_list = [1, 2, 3, 4, 5] my_list.reverse() print(my_list)
[5, 4, 3, 2, 1]
Индекс элемента
Метод index можно использовать для получения индекса элемента:
my_list = ['один', 'два', 'три', 'четыре', 'пять'] print(my_list.index('два'))
Если в списке больше одного такого же элемента, функция вернет индекс первого.
Удалить элемент
Удалить элемент можно, написав его индекс в методе pop :
my_list = ['один', 'два', 'три', 'четыре', 'пять'] removed = my_list.pop(2) print(my_list) print(removed)
['один', 'два', 'четыре', 'пять'] три
Если не указывать индекс, то функция удалит последний элемент.
my_list = ['один', 'два', 'три', 'четыре', 'пять'] removed = my_list.pop() print(my_list) print(removed)
['один', 'два', 'три', 'четыре'] пять
Элемент можно удалить с помощью метода remove .
my_list = ['один', 'два', 'три', 'четыре', 'пять'] my_list.remove('два') print(my_list)
['один', 'три', 'четыре', 'пять']
Оператор del можно использовать для тех же целей:
my_list = ['один', 'два', 'три', 'четыре', 'пять'] del my_list[2] print(my_list)
['один', 'два', 'четыре', 'пять']
Можно удалить несколько элементов с помощью оператора среза:
my_list = ['один', 'два', 'три', 'четыре', 'пять'] del my_list[1:3] print(my_list)
['один', 'четыре', 'пять']
Функции агрегации
В Python есть некоторые агрегатные функции:
my_list = [5, 3, 2, 4, 1] print(len(my_list)) print(min(my_list)) print(max(my_list)) print(sum(my_list))
sum() работает только с числовыми значениями.
А max() , len() и другие можно использовать и со строками.
Сравнить списки
В Python 2 сравнить элементы двух списком можно с помощью функции cmp :
my_list = ['один', 'два', 'три', 'четыре', 'пять'] list_2 = ['три', 'один', 'пять', 'два', 'четыре'] print(cmp(my_list,list_2))
Она вернет -1 , если списки не совпадают, и 1 в противном случае.
В Python 3 для этого используется оператор ( == ):
my_list = ['один', 'два', 'три', 'четыре', 'пять'] list_2 = ['три', 'один', 'пять', 'два', 'четыре'] if (my_list == list_2): print('cовпадают') else: print('не совпадают')
Результат не совпадают .
Математические операции на списках:
Для объединения списков можно использовать оператор ( + ):
list_1 = [1, 2, 3] list_2 = [4, 5, 6] print(list_1 + list_2)
[1, 2, 3, 4, 5, 6]
Список можно повторить с помощью оператора умножения:
list_1 = [1, 2, 3] print(list_1 * 2)
[1, 2, 3, 1, 2, 3]
Списки и строки
Для конвертации строки в набор символов, можно использовать функцию list :
my_str = 'Monty Python' my_list = list(my_str) print(my_list)
['M', 'o', 'n', 't', 'y', ' ', 'P', 'y', 't', 'h', 'o', 'n']
Функция list используется для того, чтобы разбивать строку на отдельные символы.
Можно использовать метод split для разбития строки на слова:
my_str = 'Monty Python' my_list = my_str.split() print(my_list)
['Monty', 'Python']
Она возвращает обычный список, где с каждым словом можно взаимодействовать через индекс.
Символом разбития может служить любой знак, а не только пробел.
my_str = 'Monty-Python' my_list = my_str.split('-') print(my_list)
Результат будет аналогичен:
['Monty', 'Python']
Объединить список в строку
Обратный процесс — объединение элементов списка в строку.
Это делается с помощью метода join :
my_list = ['Monty', 'Python'] delimiter = ' ' output = delimiter.join(my_list) print(output)
Результат Monty Python .
Алиасинг (псевдонимы)
Когда две переменные ссылаются на один и тот же объект:
my_list = ['Monty', 'Python'] list_2 = my_list
Алиасинг значит, что на объект ссылается больше одного имени.
Следующий пример показывает, как меняются изменяемые списки:
my_list = ['Monty', 'Python'] list_2 = my_list list_2[1] = 'Java:)' print(my_list)
['Monty', 'Java:)']
Изменился список list_2 , но поскольку он ссылается на один и тот же объект, то оригинальный список тоже поменялся.
Использовать “псевдонимы” при работе со списками не рекомендуется.
В целом, работать со списками в Python очень просто.