Как сравнить каждый элемент списка с каждым python
Перейти к содержимому

Как сравнить каждый элемент списка с каждым python

  • автор:

Как сравнить все элементы списка друг с другом?

Программа должна вывести 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

Эксперт функциональных языков программированияЭксперт Python

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 очень просто.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *