Рубрики

Python | Расположить кортежи последовательно в списке

Иногда при работе со списком кортежей нам может потребоваться случай, когда мы требуем, чтобы кортеж начинался с конца предыдущего кортежа, то есть элемент 0 каждого кортежа должен быть равен конечному элементу кортежа в списке кортежа. Этот тип проблемы и сортировки полезен в конкурентном программировании. Давайте обсудим, как эта проблема может быть решена.

Метод: использование loop + dict()
Эта задача может быть легко решена путем преобразования списка контейнеров кортежей в словарь, и тогда легко получить доступ к значению ключа и расположить их соответствующим образом для сортировки таким образом, чтобы один элемент кортежа начинался с окончания другого элемента.

# Python3 код для демонстрации работы
# Организация Tuples последовательно в списке
# используя loop + dict ()

  
# инициализировать список

test_list = [(5, 6), (11, 8), (6, 11), (8, 9) ]

  
# печать оригинального списка

print("The original list is : " + str(test_list))

  
# Организация Tuples последовательно в списке
# используя loop + dict ()

temp = dict(test_list)  

ele = test_list[0][0]  

res = [] 

for _ in range(len(test_list)):

    res.append((ele, temp[ele]))

    ele = temp[ele]

  
# результат печати

print("The arranged list is : " + str(res))

Выход :

The original list is : [(5, 6), (11, 8), (6, 11), (8, 9)]
The arranged list is : [(5, 6), (6, 11), (11, 8), (8, 9)]

Рекомендуемые посты:

Python | Расположить кортежи последовательно в списке

0.00 (0%) 0 votes