Как заменить индекс элементов списка некоторыми другими числами? - PullRequest
1 голос
/ 03 июня 2019

У меня есть список элементов, скажем, что-то вроде ниже:

A = [1, 2, 3, 4, 5]

с помощью функции enumerate, я получу список, как показано ниже:

B = [(0, 1), (1, 2), (2, 3), (3, 4), (4, 5)]

Но я хочу заменить индексы заданным списком чисел, например: если у меня есть список, подобный приведенному ниже:

C = [4, 6, 9, 10 , 22]

Я хочу изменить B на список, как показано ниже:

B_modified = B = [(4, 1), (6, 2), (9, 3), (10, 4), (22, 5)]

Как я могу это сделать?Спасибо

1 Ответ

3 голосов
/ 03 июня 2019

Вы должны использовать функцию zip, чтобы объединить эти два списка.

A = [1, 2, 3, 4, 5]
C = [4, 6, 9, 10 , 22]

B = list(zip(C, A))

print(B)

Выход:

[(4, 1), (6, 2), (9, 3), (10, 4), (22, 5)]

Может использоваться так же, как enumerate:

for i, e in zip(C, A):
    print(i, e)

Выход:

4 1
6 2
9 3
10 4
22 5
...