defaultdict (список) Python с комплексными числовыми ключами для - PullRequest
0 голосов
/ 20 февраля 2019

Я пытаюсь использовать Python defaultdict(list) с ключами комплексных чисел.В результате разные значения с одинаковыми ключами вставляются в разные списки, а не в один и тот же список.Как это можно решить?

comp_arr = np.array([5+6j, 7+8j, 5+6j, 7+8j, 8+3j])
comp_dict= defaultdict(list)

for i in comp_arr.shape:
    (comp_dict[comp_arr [i]]).append(i)

1 Ответ

0 голосов
/ 20 февраля 2019

Я думаю, что вы зацикливаетесь не на том, попробуйте использовать enumerate() для цикла:

Код:

for i, x in enumerate(comp_arr):
    comp_dict[x].append(i)

Код теста:

from collections import defaultdict
import numpy as np

comp_arr = np.array([5 + 6j, 7 + 8j, 5 + 6j, 7 + 8j, 8 + 3j])
comp_dict = defaultdict(list)

for i, x in enumerate(comp_arr):
    comp_dict[x].append(i)

print(comp_dict)

Результаты:

defaultdict(<class 'list'>, {(5+6j): [0, 2], (7+8j): [1, 3], (8+3j): [4]})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...