Связать соотсвуюшие елементьі двух списков

Рейтинг: -2Ответов: 2Опубликовано: 05.03.2023

Я пробьівал сам ето сдеть но не получилось. У меня есть два списка, я хочу сделать так, чтобьі рандомньім способом вьібиралось одно значение из 1 списка, но я хочу сделать чтобьі каждому елементу 1 списка отвечал второй например 1 список: (я, u, i, h) 2 список: (i, h, n, j) И когда рандомно вьібираться например u чтобьі оно било связано с h, тоесть чтобьі первому елементу 1 списка отвечал 1 елемент 2 списка, И чтобьі когда вибиралось случайньім образом оно сразу искало соотстветуюший елемент во 2 списке. Я уже несколько дней пьітаюсь ето сделать, пробьівал в ексель, потом неперол на питона, ничего не получаеться

Ответы

▲ 1

посмотри zip() Пример:

s = 'abc'
t = (10, 20, 30)

res = zip(s,t) 
print(res) # [('a', 10), ('b', 20), ('c', 30)]

https://tproger.ru/translations/implementing-zip-list-comprehensions/

▲ 1

Если правильно понимаю задачу, то все элементарно и есть различные способы.

1 - Можно просто сопоставить индексы элементов в списках.

lst1 = [1, 2, 3, 4, 5]
lst2 = ['a', 'b', 'c', 'd', 'e']
idx = lst1.index(2) # получаем индекс элемента 2 из первого списка
print('во втором списке с тем же индексом элемент - ', lst2[idx]) # печатаем 
элемент из второго списка с тем же индексом
# или по индексу другого списка
idx = lst2.index('d')
print('в первом списке с тем же индексом элемент - ', lst1[idx])

2 - Использовать двумерный список.

lst = [[1, 2, 3, 4, 5], ['a', 'b', 'c', 'd', 'e']]
print(lst[0][3]) # элемент из первой строки столбец 3
print(lst[1][3]) # элемент из второй строки в том же столбце 3

3 - Использовать Numpy массивы.

import numpy as np
arr = np.array([[1, 2, 3, 4, 5], ['a', 'b', 'c', 'd', 'e']])
print(arr[0,3]) # элемент из первой строки столбец 3
print(arr[1,3]) # элемент из второй строки в том же столбце 3

Всё сводится к индексам элементов в списках.