Tag: defaultdict

python collections.defaultdict со списком длины два

У меня есть ситуация, когда ключ будет иметь два значения, которые будут обновляться во время программы. Более подробно, начиная с пустого словаря d = {}, я хотел бы сделать следующее: d[a][0] += 1 или d[a][1] += 1 где a – тип float который также находится во время работы программы. Могу ли я что-то сделать с […]

Заполнение значения по умолчанию во время init

Как я могу получить фабрику с возможностью вызова для defaultdict, чтобы разрешить ее заполнение с пониманием? Я думаю, что это, вероятно, невозможно, но я не могу придумать, почему? >>> def foo(*args): … # TODO … >>> from collections import defaultdict >>> thing = foo(defaultdict, int) >>> d = thing((i, i*i) for i in range(3)) >>> […]

Как определить и заполнить диктофон списков

Я должен заполнить словарь типа: partial[sequence][exp_id] = [item_1, …, item_n] это можно сделать следующим образом: partial = defaultdict(dict) for sequence in sequences: for exp_id in exp_ids: for item in data: partial[sequence].setdefault(eid, []).append(item) Есть ли более эффективный способ? Что-то вроде: partial = defaultdict(defaultdict(list)) for sequence in sequences: for exp_id in exp_ids: for item in data: partial[sequence][exp_id].append(item) […]

KeyError Filling Defaultdict Python

Я пытаюсь заполнить словарь по умолчанию с данными csv, и я получаю ключевую ошибку for i in range(0,1): #https://docs.python.org/2/library/collections.html#collections.defaultdict result = co.defaultdict(list) with open(os.path.join(inputdir,tablelist[i])) as f: csv_reader = csv.reader(f) csv_headings = next(csv_reader) read = csv.DictReader(f) for line in read: for j in range(1,len(csv_headings)): error here—>result[line[csv_headings[0]]].append(line[csv_headings[j]]) для данных csv API,CNTYNM,PRMT, 4700100002,Barbour,2, 4700100003,Barbour,3, 4700100004,Barbour,4, ключевая ошибка для […]

Преобразование данных CSV в список в словаре

У меня есть файл CSV в следующей форме: Name_1,2,K,14 Name_1,3,T,14 Name_1,4,T,18 Name_2,2,G,12 Name_2,4,T,14 Name_2,6,K,15 Name_3,2,K,12 Name_3,3,T,15 Name_3,4,G,18 И я хочу преобразовать его в словарь, где Name_x – это ключ, а соответствующие данные – это значение в форме списка. Что-то вроде этого: {'Name_1': [[2, 'K', 14], [3, 'T', 14], [4, 'T', 18]], 'Name_2': [[4, 'T', 14], […]

Использование defaultdict для замены команд try и / или if в python

Недавно я нашел и начал использовать словари по умолчанию, чтобы заменить несколько более громоздких конструкций. Я прочитал в «zen python», что один из ключевых пунктов python: «Должен быть один – и желательно только один – простой способ сделать это». Исходя из этих критериев (или, возможно, более основанных на использовании памяти или скорости), какая из следующих […]

Как автоматически создать значение из не существующего ключа с помощью функции

Backgroud: Скажем, у меня есть функция (конечно, в действительности это была бы более сложная функция): def f(x): return str(x) Если я хочу хранить значения, чтобы избежать ненужной перерасчеты, я могу создать такой dict : my_dict = {x: f(x) for x in range(5)} Но если я не знаю заранее, какие значения мне могут понадобиться, например, 10 […]

получить исходный набор ключей из defaultdict

Есть ли способ получить исходный / согласованный список ключей от defaultdict, даже если запрошены не существующие ключи? from collections import defaultdict >>> d = defaultdict(lambda: 'default', {'key1': 'value1', 'key2' :'value2'}) >>> >>> d.keys() ['key2', 'key1'] >>> d['bla'] 'default' >>> d.keys() # how to get the same: ['key2', 'key1'] ['key2', 'key1', 'bla']

Python – как передать словарь в defaultdict как значение, а не как ссылку

Так скажите, что у меня есть словарь со значением по умолчанию другого словаря attributes = { 'first_name': None, 'last_name': None, 'calls': 0 } accounts = defaultdict(lambda: attributes) Проблема в том, что словарь по умолчанию, который я передаю в defaultdict (атрибуты), передается как ссылка. Как передать его как ценность? Таким образом, изменение значений в одном ключе […]

Инициализация элемента defaultdict vs dict

Я пытаюсь оптимизировать производительность скрипта, который ищет похожие слова в лексиконе для каждого слова. Каждое уникальное слово должно быть разделено на буквы n-граммов и для каждого n-грамма лексика возвращает список слов, содержащих один и тот же буквой n-gram. Каждое слово из этого списка затем добавляется в словарь в качестве ключа, и его значение увеличивается на […]

Python - лучший язык программирования в мире.