Как я могу удалить дублирование 2 отдельных, которые взаимосвязаны друг с другом (PYTHON) - PullRequest
0 голосов
/ 19 марта 2019

Прочитав столько заголовков, я не смог решить проблему ниже. Кто-нибудь может мне помочь, пожалуйста?

Например, у меня есть 2 списка (list_I и list_II), которые взаимосвязаны друг с другом.

list_I = [123, 453, 444, 555, 123, 444]

list_II = [A, A, B, C, A, B]

Я надеюсь получить:

New_list_I = [123, 453, 444, 555]


New_list_II = [A , A, B, C]

Я использую эти два списка как часть электронной почты. Вот почему мне нужно 2 отдельных (но с другой стороны, связанных) списка.

Я могу отправить электронное письмо прямо сейчас. Но из-за проблемы с дублированием это не работает так, как я хочу.

П.С .: Надеюсь, я хорошо объяснил проблему, но, пожалуйста, не стесняйтесь спрашивать меня.

Ответы [ 2 ]

1 голос
/ 19 марта 2019

Похоже, работа очень хорошо подходит для dict:

list_I = [123, 453, 444, 555, 123, 444]    
list_II = ['A', 'A', 'B', 'C', 'A', 'B']

res = {}    
for elem, elem2 in zip(list_I, list_II):
    res[elem] = elem2    
print(res)

OUTPUT

{123: 'A', 453: 'A', 444: 'B', 555: 'C'}

А если вы хотите списки, вы можете отделить ключи и значения от dict:

print([k for k,v in res.items()])
print([v for k,v in res.items()])

OUTPUT

[123, 453, 444, 555]
['A', 'A', 'B', 'C']
0 голосов
/ 19 марта 2019
list_I = [123, 453, 444, 555, 123, 444]
list_II = ['A', 'A', 'B', 'C', 'A', 'B']

New_list_I = []
New_list_II = []

for index, item in enumerate(list_I):
    if item not in New_list_I:
        New_list_I.append(item)
        New_list_II.append(list_II[index])

print(New_list_I)
print(New_list_II)

ВЫВОД:

[123, 453, 444, 555]
['A', 'A', 'B', 'C']
...