170 похожих чатов

Привет, есть несколько списков : ['11123', 'fghjjk'], ['11123', 'ffggh']. Как

из них получить словарь со значениями дубликатов {'11123':['fghjjk','ffggh'] ? То есть преобразовать каждый список в словарь и пройтись итерацией? А как это лучше сделать, когда много таких списков?

18 ответов

15 просмотров

Непонятно, что должно быть ключом, а что значением в итоговом словаре.

Yulya A.- Автор вопроса
Yulya A.
Ключ уникален, соответственно '11123'

Все равно неясно. Вот три списка: [1, 2, 3, 4] [1, 3, 5, 4, 6] [3. 5. 2. 7] Как должен выглядеть результат?

Yulya A.- Автор вопроса
malorin K.
Все равно неясно. Вот три списка: [1, 2, 3, 4] [1,...

Вот списки [a, 1], [a,2], [b,3]. На выход: { а: [1,2]}

Yulya A.- Автор вопроса
malorin K.
А b:3 там не будет?

Нет, только значения дубликатов

Интересная задача, спасибо. Мне понравилась

Yulya A.
Вот списки [a, 1], [a,2], [b,3]. На выход: { а: [1...

я думаю без цикла никак, можно создать список из множеств и используя метод словаря setdefault получить результат

Yulya A.
Спасибо

Смотрите в сторону pandas. подобные группировки , в среднем , выходят в пару строк. С производительностью тоже вопросов не должно быть.

Yulya A.- Автор вопроса
Yulya A.
Спасибо, но с пандас не знакома

Самой большой проблемой для вас, в таком случае, будет сформировать DataFrame из ваших списков. А сама группировка сводится к groupby https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.groupby.html По-сути это и есть то, что вам нужно.

Yulya A.
Спасибо

Решение с пандасом: from pandas import DataFrame lst = [['ahmed', 10], ['vasya', 30], ['ashot', 10], ['danil', 15]] df = DataFrame(lst, columns=['Name', 'Age']) print(df.groupby('Age')['Name'].apply(list))

Yulya A.- Автор вопроса

lists = [['cat', '1'], ['dog', '2'], ['cat', '3'], ['dog', '4'], ['cat', '5'], ['rabbit', '6']] s = {} for x, y in lists: s.setdefault(x, []) s[x].append(y) print(dict(filter(lambda z: len(z[1]) > 1, s.items())))

Yulya A.- Автор вопроса
Oleg
lists = [['cat', '1'], ['dog', '2'], ['cat', '3'],...

Спасибо большое, это работает

Похожие вопросы

Обсуждают сегодня

Какой-то там пердун в 90-х решил, что есть какая-то разная типизация. Кого вообще это волнует?
КТ315
49
void terminal_scroll() { memmove(terminal_buffer, terminal_buffer + VGA_WIDTH, buffer_size - VGA_WIDTH); memset(terminal_buffer + buffer_size - VGA_WIDTH, 0, VGA_WIDTH); ...
Егор
47
Всем привет! Подскажите, пожалуйста, в чем ошибка? Настраиваю подключение к MySQL. Либы лежат рядом с exe. Все как по "учебнику"
Евгений
16
А можете как-то проверить меня по знаниям по ассемблеру?
A A
132
Здравствуйте! У меня появилась возможность купить книгу "Изучай Haskell во имя добра!". Но я где-то слышал, что эта книга устарела. Насколько это правда??
E
22
Здравствуйте! Я вот на stepic решаю задачи на хаскеле https://stepik.org/lesson/8443/step/8?unit=1578 мой код import Data.List (isInfixOf) removing :: String -> [String] ->...
E
10
Камрады, кто тесно работал с vtv, хотел уточнить. Ширина column задаётся жёстко на этапе создания дерева или можно в рантайме ее менять программно (не мышкой)?
Ed Doc
10
да ладно ... что там неочевидного ? глянуть в исх-ки датасета и/или кверика чтобы понять в каком месте и как выполняется обращения к св-вам blablaSQL - минутное дело, даже е...
Сергей
7
Здесь для arm кто-нибудь кодит ?
Nothing
52
Всем привет, у меня есть сервер принимающий входящие HTTP подключения, как проверить, что подключение было через прокси или нет, есть какие то поля в заголовках по которым мо...
Кибер Бомж
8
Карта сайта