Вопросы с тегами [dictionary]

0

голосов
0

ответ
9

Просмотры

Разделительная словари

Я довольно новыми для питона программирования и в настоящее время работает на данные науки пути DataQuest в. Я озадачен на их разделяющей уступке словарей. Если кто-нибудь может объяснить, шаг за шагом, что делать или показать мне некоторые внешние ресурсы, я был бы признателен. Это проблема: Раньше мы преобразовали частоты в пропорции или проценты путем перезаписи исходного словаря значения. Тем не менее, мы часто должны держать словари отдельно для последующего анализа. Например, мы могли бы иметь три отдельные словарей: один хранящие частоты, еще хранящие пропорции, и еще складирование проценты. Когда мы преобразуем частоту пропорций, мы можем создать новый словарь вместо перезаписи значений в исходном словаре. Чтобы сделать это, мы можем создать новый пустой словарь и заполнить его в цикле: Для того, чтобы получить лучшее понимание того, как это работает, мы будем печатать переменные итерации, долю, и новый словарь для каждой итерации: Давайте теперь практиковать эту технику, выполнив несколько упражнений. Инструкции преобразования частоты внутри content_ratings в пропорции и проценты, создавая отдельные словари для каждого из них. Назначает словарь, хранящие пропорции переменной с именем c_ratings_proportions. Назначают словарь, хранящий проценты переменной с именем c_ratings_percentages. Дополнительно задача: попытаться решить это упражнение, используя один цикл (решение этой задачи при условии). Инструкции преобразования частоты внутри content_ratings в пропорции и проценты, создавая отдельные словари для каждого из них. Назначает словарь, хранящие пропорции переменной с именем c_ratings_proportions. Назначают словарь, хранящий проценты переменной с именем c_ratings_percentages. Дополнительно задача: попытаться решить это упражнение, используя один цикл (решение этой задачи при условии). Инструкции преобразования частоты внутри content_ratings в пропорции и проценты, создавая отдельные словари для каждого из них. Назначает словарь, хранящие пропорции переменной с именем c_ratings_proportions. Назначают словарь, хранящий проценты переменной с именем c_ratings_percentages. Дополнительно задача: попытаться решить это упражнение, используя один цикл (решение этой задачи при условии).
user11385063
1

голосов
2

ответ
183

Просмотры

Как звонить на элемент словаря Umbraco в XSLT?

Я работаю на сайте Umbraco, который в основном использует .cshtml файлов, но в течение нескольких небольших мест, они используют .xslt файлы для обработки встраивания видео. Я не знаю вещь о .xslt. Но, через мой Googling, я понял, что мне нужно поставить, чтобы позвонить в словарный пункт (который заменит жестко закодированный текст). umbraco.library: GetDictionaryItem ( «NameOfDictionaryItem») Мой вопрос, нужно ли мне, чтобы обернуть этот код в чем-то вроде этого: umbraco.library: GetDictionaryItem ( «NameOfDictionaryItem») я могу показать код всего файла, если это необходимо .. . Просто не знаю, сколько это уместно.
Stacy K. Basye
1

голосов
1

ответ
1.6k

Просмотры

маркировка NetworkX узла атрибуты вне узлов

Я работаю на небольшой набор примеров узлов, принадлежащих к двум типам { «человек», «машина»} и я хочу, чтобы маркировать узел атрибутов в виде словаря за пределами каждого узла в NetworkX графа, такие как показанные на узлах с, е, J на графике ниже. (Я использовал MS Word для добавления словаря типа атрибутов на графике.): Базовый сюжет генерируется, используя следующий код: импорт NetworkX как пе G = nx.Graph () G.add_nodes_from ([ «A», «B» , 'с', 'd', 'е', 'е', 'г'], тип = 'машина') G.add_nodes_from ([ 'ч', 'я', 'J'], тип = «человек ') G.add_edges_from ([(' а ' 'с'), ( 'а', 'б'), ( 'а', 'd'), ( 'а', 'е'), (' б », 'd'), ( 'B', 'е'), ( 'B', 'г'), ( 'C', 'Е'), ( 'с', 'd'), ( 'd', 'е'), ( 'd', 'е'), ( 'd', 'г'), ( 'е', 'г'), ( 'е', 'г'), ( 'е', 'Н'), ( 'г', 'Н'), ( 'ч', 'я'), ( 'я', 'J')]) Защита plot_graph (G, weight_name = None): импорт matplotlib.pyplot, как рх plt.figure () позы = nx.spring_layout (G) ребрами = G.edges () вес = нет, если weight_name: вес = [Int (G [и] [V] [weight_name]) для и, v в краях] метки = nx.get_edge_attributes (G, weight_name) nx.draw_networkx_edge_labels (G, позы, edge_labels = этикетка) nx.draw_networkx (G, позы , ребро = ребра, ширина = вес); остальное: nx.draw_networkx (G, POS, ребро = ребра); plot_graph (G, weight_name = нет) plt.savefig ( 'example.png') PLT. показать () Но вот проблема, в nx.get_node_attributes () и nx.draw_networkx_labels () функция не будет включать в себя словарные ключи (в данном примере «типа») на этикетках (это работает только для nx.get_edge_attributes () и nx.draw_networkx_edge_labels ()), и если один будет использовать nx.get_node_attributes () и nx.draw_networkx_labels (), оригинальные имена узлов будут заменены значениями атрибутов. Мне интересно, если вы альтернативные методы приписывать этикетки в словаре формате за пределами каждого узла, сохраняя при этом имена узлов в узлах? Как я должен изменить свой текущий код? и если один будет использовать nx.get_node_attributes () и nx.draw_networkx_labels (), оригинальные имена узлов будут заменены значениями атрибутов. Мне интересно, если вы альтернативные методы приписывать этикетки в словаре формате за пределами каждого узла, сохраняя при этом имена узлов в узлах? Как я должен изменить свой текущий код? и если один будет использовать nx.get_node_attributes () и nx.draw_networkx_labels (), оригинальные имена узлов будут заменены значениями атрибутов. Мне интересно, если вы альтернативные методы приписывать этикетки в словаре формате за пределами каждого узла, сохраняя при этом имена узлов в узлах? Как я должен изменить свой текущий код?
Chris T.
1

голосов
3

ответ
48

Просмотры

Макс ключ из другого словаря значений функции в Python

У меня есть словарь статистика = { 'OK': 0, 'ПРОПУСТИТЬ': 1, 'ИСКЛЮЧЕНИЕ': 2, 'WARN': 3, 'ERROR': 4 'FATAL': 5} Я получаю значения из другой программы что дает словарь, как этот my_values ​​= { «Web»: OK «Хост»: WARN, «System»: НЕУСТРАНИМОГО} Теперь я хочу, чтобы сравнить значения из my_values ​​с ключами статистики и получить высокий результат. Например: если my_values ​​= { 'Web': OK 'Хост': WARN, 'Система': FATAL} фикцию должен возвращать FATAL если my_values ​​= { 'Web': OK 'Хост': WARN, 'Система': ERROR } фикцию должен возвращать ERROR, если my_values ​​= { «Web»: OK «Хост»: WARN, «Система»: WARN} фикцию должен вернуться WARN до сих пор я до здесь, это дает только максимальные значения в поддавки Dict. оператор импорт Защита high_value (my_value): Статистика = {»
user3330284
1

голосов
1

ответ
36

Просмотры

Как кумулятивно обновить словарь со значениями из других словарей?

У меня есть мастер-словарь, чтобы сохранить частоту слова всей совокупности и отдельных словарей, чтобы сохранить частоту слов для каждого текстового файла. Я цикл по каждому файлу, генерировать ВФ каждого файла, и последовательно обновлять мастер-словарь. Мой код выглядит следующим образом. Есть ли ярлык? Спасибо! master_dict = {} для txtfile в txtfiles: file_dict = {} file_dict = get_word_freq (txtfile) функция #A определена для K, V в file_dict.items (): если к в master_dict: master_dict [к] + = v остальное: master_dict [K] = V
Victor Wang
1

голосов
4

ответ
55

Просмотры

Могу ли я упростить мой код так, что я не выписывая каждую букву алфавита в отдельности?

Я пишу код, который петли через Геттисберге адрес и подсчитывает количество вхождений каждой буквы. Письмо затем сохраняется в качестве ключа в словаре, и значение для каждого ключа общее число вхождений этого конкретного значения. Геттисберге Адрес был разделен на три линии для нас, чтобы перебрать. Путь он у меня написано, что у меня есть каждая линия петельные через, но у меня нет никакого способа, чтобы добавить вхождения строки, так что я получаю в общей сложности в словаре. Например, если в строке 1 есть 5, а в строке 2 есть 10, как и в строке 3 есть 15, как общее должно быть 30, как и словарь должно быть: 30. Кроме того, в файле, который мы получили там пустые строки в между линиями 1 и 2, и между ними линиями 2 и 3, и я не знаю, как удалить эти строки для целей моего цикла. И, наконец, Прямо сейчас я написал каждую букву для программы, но мне было интересно, если есть более простой способ идти об этом, что может упростить то, что у меня есть. # Функция: ReadFile # Параметры: имя файла # Возврат: словарь # Деталь: Проходной каждую строку адреса файла Геттисберге и подсчета вхождений каждой буквы в каждой строке # Деталь: Sum вхождений каждой буквы каждой строки, чтобы найти общее вхождений каждой буквы для всего документа # Добавьте письмо и его вхождение в словарной ключ: значение = письмо: вхождение защиту ReadFile (имя файла = «gettysburg.txt»): fileIn = открыт (имя файла, «г») словарную = { } для линии в fileIn: line.lower () буква = "A" Acount = line.count ( "A") словарь [письмо] = Acount буквы = "B" Основные # вызов функции ReadFile, чтобы создать словарь и хранить в нем переменные # вызове в sortKeys работать, чтобы получить список отсортированных ключей и хранить его в variabel # Цикла по отсортированным ключам списка для печати каждой буквы и его частоты (номер раз это происходит) с использованием словаря. Защита основные (): ReadFile () sortKeys () печать ( "Отображение письма частоты Геттисберга адреса") для ключа, значение в dictionaryList: печать (ключ, значение) основная ()
Jaxon123
1

голосов
3

ответ
70

Просмотры

Как удалить дубликаты из списка dicts?

}] Как мне этого добиться? Я попытался преобразования список словарей в словарь, а затем перебрать его с dict.items (), но не повезло.
Lorem
1

голосов
0

ответ
123

Просмотры

Create a dictionary from a csv with variable length entries

У меня есть CSV с 8 клавишами. Каждый ключ содержит список переменной длины для ее значений. Я использовал csv.DictWriter создать CSV, теперь я хочу, чтобы читать в CSV-файл в словаре. Я налил через документы на csv.DictReader и csv.reader, и это то, что я придумал: ReadCSVasDict четкости (csv_file): с открытым (csv_file) как файл: читатель = csv.reader (файл) DataTree = { "Класс": [], "ClassID": [], "Корабль": [], "ShipID": [], "Диапазон": [], "RangeID": [], "AOB": [], "AOBID": []} клавиши = список (DataTree.keys ()) для RowIndex, строки в перечислении, (считыватель): если RowIndex = 0: DataTree [клавиша [RowIndex-1]] = строка [RowIndex-1] ReadCSVasDict ( «DataTree.csv») Первая строка CSV являются ключами (именно поэтому я пропустить строка 0), и это почти работает, но я не могу понять, как разобрать через запись, сохраняя их типа, так как DictWriter преобразует все в строку. Как можно прочитать в формате CSV и извлечь тип каждого элемента в каждом списке? Образец данные выглядят следующим образом: Класс, ClassID, корабль, ShipID, диапазон, RangeID, А, AOBID "[ 'Неизвестный', 'Парусник']" ,,,,,,, "[1, 2]" ,,, ,,, ,, "[[ 'Неизвестные 1'], [ 'Парус 1', 'Парус 2', 'Парус 3']]" ,,,,, ,,, "[[11], [21, 22 , 23]] ",,,, ,,,, "[[[1000]], [[500, 1000], [1000], [500, 2000]]]" ,,, ,,,,," [ [[111]], [[211, 212], [221], [231, 232]]]»,, ,,,,,, [], ,,,,,,, [] с помощью кода, который генерируется это: защиту WriteDictasCSV (csv_file, dataDict): с открытым (csv_file, 'ш', новая строка = '') в файле: имя поля = [ "класс",»
Drew Wilkins
1

голосов
2

ответ
392

Просмотры

Multidict поколение используя для петли в Python

У меня есть проблема с питоном, который я хочу, чтобы создать multidict, как показано ниже, используя для цикла. Числа генерируются случайным образом, и если эти два элемента являются такими же, если значение 0. дуг, емкость = multidict ({(0, 0): 0, (0, 1): 80, (0, 2): 11, ( 1, 0): 15, (1, 1): 0, (1, 2): 120 (2, 0): 103, (2, 1): 3, (2, 2): 0}) до сих пор я закодировано это одна: дуги = {} для г в диапазоне (N): для J в диапазоне (N): дуги [I, J] = (random.randint (1101)) Но нет ничего подобного тому, что мне нужно. Может кто-нибудь поможет мне о том, как код для цикла для этой проблемы? Много много спасибо заранее.
A Z
1

голосов
1

ответ
104

Просмотры

How to send a dictionary using AJAX GET method in django

Мне нужно отправить словарь (его длина 31) и нужно получить словарь в Django. Jquery:.. $ ( '# Shift_save') нажмите (функция () {$ ( "# usershift тр") каждая (функция () {usershift = {}; вар USERID = $ (это) .attr ( 'ID') ; usershift [ 'shiftmember'] = идентификатор пользователя;. $ ( "# usershift тр #" + идентификатор пользователя + "TD") каждая (функция () {вар shiftname = $ (это) .text (); переменная shiftday = $ (это) .attr ( 'ID'); usershift [shiftday] = shiftname;}); вар CURRENTURL = window.location.href; CURRENTURL = currenturl.split ( "/"); год = CURRENTURL [5]; месяц = ​​CURRENTURL [6 ]; URL = "/ список / saveshift /" + год + "/" + месяц; $ .get (URL, {my_user_shift: usershift}, функция (данные) {Materialize.toast (данные [ 'статус'], 8000, 'закруглены'); }); })}) Views.py: Защита save_mass_shift (запрос, год, месяц): попробуйте: data_json = {} user_shift = request.GET [ 'my_user_shift'] save_user_shift (user_shift, месяц, год) data_json [ 'статус'] = ' Сохранено»вернуться HttpResponse (json.dumps (data_json), content_type = "приложения / JSON"), за исключением Exception как е: data_json [ 'статус'] = ул (е) печати (ул (е)) вернуть HttpResponse (json.dumps (data_json), content_type = "приложение / JSON") ошибка: Просто показывая Jquery имени словаря как дата ошибки словарь выглядит следующим образом: samlple = { "а": 'навигационные', "б": 'VBN'}
Mohamed Naveen
1

голосов
1

ответ
40

Просмотры

Substring слово для поиска производит слишком много выхода

Я пытаюсь решить эту проблему кодирования ниже: Учитывая словарь слов и пользователь, введенное слово для сравнения Сравнивая данное слово против словаря, то вывести все слова в словаре, которые существуют в данном слове Например StartBurst бы выход Star и Выбросе если эти слова в словаре. Ниже мой код: класс Program {статической силы Main (string [] арг) {Console.WriteLine ( "Введите слово"); Строка ш = Console.ReadLine (); Строка [] = словарь новая строка [106]; {Строка слово = ш; Строка слово2 = ш; строка w1 = слово; Строка ш2 = слово2; для (Int N = 0; п <w.Length, п ++) {w1 = слово; ш2 = слово; для (INT х = 0; х <word.Length; х ++) {для (INT I = 0; я <dictionary.Length; я ++) {если (! w1.Equals (словарь [я]) && w1 = w2) { еЫпе (w1); Console.ReadLine (); } Если (w2.Equals (словарь [I]) && w 1 = w 2!) {Console.WriteLine (w2); Console.ReadLine (); }} W1 = w1.Substring (1, w1.Length - 1); ш2 = word.Substring (0, word.Length - х); } Слово = word.Substring (1, word.Length - 1); }}}}} Однако, когда я запускаю это, он выдает слишком много выходных данных. Например, если я введу «dontdo» программа выводит «не делают этого делать делать делать делать». Я считаю, что это связано со словом = word.Substring (1, word.Length - 1); заявление, но я не уверен, как исправить ситуацию. Может кто-нибудь помочь?
therealjmast
1

голосов
0

ответ
86

Просмотры

Запрос совпадающее значение словаря в Монго

У меня есть документ с полем под названием «ВЧС», чьи значения словарь: «123»: «а», «456»: «DEF», «789»: «ГХИ» Я в курсе поиска для конкретного элемента в массиве, но не по значению в словаре. Я хотел бы получить все документы, которые имеют «размораживание» в своих значениях ВЧСА. Спасибо!
Cryptite
1

голосов
1

ответ
72

Просмотры

Python: Цикличность и вложенные словари

У меня 3 кортежи: O = (0, 1) п = ((1, 2), (1)) с = ((30, 70), (20)), что я хочу поставить во вложенном словаре. Желаемый результат: { '0': { '1': 30, '2': 70}, '1': { '1': 20}} Я попробовал следующее: для й в Перечислите (о): график [ул (о [х])] = {} для у в перечисление, (N): для г в Перечислим (у): графа [ул (о [х])] [N [х] [г]] = с [ х] [г], не работает, я не знаю, как поступить.
Bee
1

голосов
1

ответ
72

Просмотры

Использование вложенных словарей анализ текста

У меня есть вложенная словарь структурирована следующим образом: правила = { 'сопряжение': { 'v0': { 'окончание': 'CER'}}, { 'v1': { 'окончание': 'э'}}, .. .} То, что я хочу сделать, это список слов, найти все это окончаний, и получить ruleID, связанный с этим концом. Я должен был бы принять наиболее ограничительный конец, к примеру, слово, как «déplacer» должны были бы показать v0, даже если v1 также подходит, так как окончание v0 является больше. Есть идеи ? Спасибо
NTiberio
1

голосов
1

ответ
28

Просмотры

Trouble working with and updating dictionary using a class and function in Python 3 [Newbie]

I am somewhat new to coding. I have been self teaching myself for the past year or so. I am trying to build a more solid foundation and am trying to create very simple programs. I created a class and am trying to add 'pets' to a dictionary that can hold multiple 'pets'. I have tried changing up the code so many different ways, but nothing is working. Here is what I have so far. # Created class class Animal: # Class Attribute classes = 'mammal' breed = 'breed' # Initializer/Instance Attribrutes def __init__ (self, species, name, breed): self.species = species self.name = name self.breed = breed # To get different/multiple user input @classmethod def from_input(cls): return cls( input('Species: '), input('Name: '), input('Breed: ') ) # Dictionary pets = {} # Function to add pet to dictionary def createpet(): for _ in range(10): pets.update = Animal.from_input() if pets.name in pets: raise ValueError('duplicate ID') # Calling the function createpet() I have tried to change it to a list and use the 'append' tool and that didn't work. I am sure there is a lot wrong with this code, but I am not even sure what to do anymore. I have looked into the 'collections' module, but couldn't understand it well enough to know if that would help or not. What I am looking for is where I can run the 'createpet()' function and each time add in a new pet with the species, name, and breed. I have looked into the sqlite3 and wonder if that might be a better option. If it would be, where would I go to learn and better understand the module (aka good beginner tutorials). Any help would be appreciated. Thanks!
1

голосов
1

ответ
221

Просмотры

Python C Расширение Вложенные словарь Сегментация Fault

Я пытаюсь создать Python (2.7.12) расширения в C, что делает следующее: Обеспечить только для чтения вложенного словаря с областью уровня модуля для программиста Python. Фоновый поток невидимый для программиста Python будет добавлять, удалять и изменять записи в словаре. Расширение будет встроено непосредственно в интерпретатор Python. Я создал упрощенную версию этого расширения, который добавляет одну запись в словарь, а затем постоянно модифицирует его с новыми значениями. Ниже файл C, содержащий комментарии о том, что он делает вместе с моим пониманием, как счетчики ссылок решаются. #include #include статический PyObject * модуль; Статическая PyObject * pyitem_error; статический PyObject * пункт; Статическая PyObject * item_handle; статическая pthread_t нить; пустота * материал (недействительные * пары) {INT мусор = 0; PyObject * размер; PyObject * значение; в то время как (1) {// Создание словаря под названием размера целых два с указанной объекты // Py_BuildValue перейдет в собственность его ссылки на размер такого размера резьбы = NULL; Размер = Py_BuildValue ( "{s: I, S: я}", "л", мусор, "ш", мусор); если (размер == NULL) {ошибка Гото; } // Создаем словарь, содержащий целочисленный объект и размера словарь // Py_BuildValue будет создавать и владеть ссылкой на размере словарь, но не ворует // Py_BuildValue будет передать право на владение своей ссылки на значение этого значение потока = NULL; значение = Py_BuildValue ( "{s: I, S: O}", "ч", мусор, "база", размер); если (значение == NULL) {ошибка Гото; } // Добавить новые данные в словаре // PyDict_SetItemString будет брать ссылку на дорожим PyDict_SetItemString (пункт «тусклым», значение); Ошибка: Py_XDECREF (размер); Py_XDECREF (значение); мусора ++; } Возвращать NULL; } // Там будут методы этого модуля в будущем pyitem_methods статический PyMethodDef [] = {{NULL, NULL, 0, NULL}}; PyMODINIT_FUNC initpyitem (недействительными) {// Создание объекта модуля // Собственные ссылки на него, так как Py_InitModule возвращает заимствованные опорный модуль = Py_InitModule ( «pyitem», pyitem_methods); Py_INCREF (модуль); // Создать объект исключения для будущего использования // Принадлежит вторую ссылку на него с момента PyModule_AddObject украдет ссылочный pyitem_error = PyErr_NewException ( "pyitem. Исследование дампа показывает следующее: Ядро было сгенерировано `питона pyitem_test.py». Программа завершается с сигналом SIGSEGV, ошибки сегментации. # 0 PyObject_Malloc (=-байт-байт @ вход = 42) на объектах / obmalloc.c: 831 831, если ((бассейн-> freeblock = * (блок **) п.н.)! = NULL) {[Текущий поток 1 (Thread 0x7f144a824700 (LWP 3931))] Это дамп заставляет меня верить вопрос, возможно, придется делать с моей обработкой эталонных объектов подсчетов. Я считаю, что это может быть одной из причин, так как проблемы, связанные с другими с тем же дамп решить проблему за счет правильной обработки подсчета ссылок. Тем не менее, я не вижу ничего плохого в моей обработке ссылочных объектов подсчетов. Другое дело, что приходит на ум, что функция печати в Python, вероятно, только заимствование ссылки на содержание словаря. Когда он пытается напечатать словарь (или доступ к его содержимому каким-либо другим способом), фоновый поток приходит и заменяет старую запись с новым. Это приводит к тому, счетчик ссылок старой записи, чтобы уменьшить и объект затем удаляется сборщиком мусора. Тем не менее, функция печати все еще пытается использовать старую ссылку, которая вызывает ошибку. То, что я нашел интересное, что я могу изменить, как быстро или медленно расширение имеет ошибку сегментации путем изменения только имена ключей в словарях. Кто-нибудь есть какие-либо идеи относительно того, что проблема может быть? Есть ли лучший способ создать расширение и до сих пор имеют свойства, которые я хочу? Это приводит к тому, счетчик ссылок старой записи, чтобы уменьшить и объект затем удаляется сборщиком мусора. Тем не менее, функция печати все еще пытается использовать старую ссылку, которая вызывает ошибку. То, что я нашел интересное, что я могу изменить, как быстро или медленно расширение имеет ошибку сегментации путем изменения только имена ключей в словарях. Кто-нибудь есть какие-либо идеи относительно того, что проблема может быть? Есть ли лучший способ создать расширение и до сих пор имеют свойства, которые я хочу? Это приводит к тому, счетчик ссылок старой записи, чтобы уменьшить и объект затем удаляется сборщиком мусора. Тем не менее, функция печати все еще пытается использовать старую ссылку, которая вызывает ошибку. То, что я нашел интересное, что я могу изменить, как быстро или медленно расширение имеет ошибку сегментации путем изменения только имена ключей в словарях. Кто-нибудь есть какие-либо идеи относительно того, что проблема может быть? Есть ли лучший способ создать расширение и до сих пор имеют свойства, которые я хочу? То, что я нашел интересное, что я могу изменить, как быстро или медленно расширение имеет ошибку сегментации путем изменения только имена ключей в словарях. Кто-нибудь есть какие-либо идеи относительно того, что проблема может быть? Есть ли лучший способ создать расширение и до сих пор имеют свойства, которые я хочу? То, что я нашел интересное, что я могу изменить, как быстро или медленно расширение имеет ошибку сегментации путем изменения только имена ключей в словарях. Кто-нибудь есть какие-либо идеи относительно того, что проблема может быть? Есть ли лучший способ создать расширение и до сих пор имеют свойства, которые я хочу?
Dschumanji
1

голосов
0

ответ
36

Просмотры

Петля через 2d массив в словаре

Я зацикливание все значения в 2d массив, который проводится в словаре с ключом Band_1 { 'Band_1': массив ([[0, 0, 0, ..., 0, 0, 0], [0, 0 , 0, ..., 0, 0, 0], [0, 0, 0, ..., 0, 0, 0], ..., [0, 0, 0, ..., 0, 0 , 0], [0, 0, 0, ..., 0, 0, 0], [0, 0, 0, ..., 0, 0, 0]], DTYPE = uint16)} код выполняется, но массив 2650 x 2650 и у меня есть 150+ словари для обработки на каждом шагу, так что это очень медленно. Примечание: для этого примера, есть только один ключ в словарь, но это не всегда так. Я попробовал 3 различных методы для перебора массива: Метод 1: для ключа, полосы в img.iteritems (): для пиксела в полосах: для й в пикселях: если х = noDataVal: х = х - dark_val остального:! Х = noDataVal Способ 2: для ключа, полосы в img.iteritems ():
Landini135
1

голосов
0

ответ
32

Просмотры

Почему объект на карте есть .forEach (), но не .map ()?

Я пытаюсь использовать объекты Карты в состоянии реагировать так, что оба они имеют ключ-значение семантики и определенный порядок. Это не важно, что порядок, так что быть последовательным, так что объекты не двигаться вокруг на повторное визуализации, поэтому порядок вставки работает отлично. Проблема заключается в том, что одна из моделей я постоянно идущие на зовёт .map () на куске состояния с функцией, которая возвращает среагировать компонент, но объекты Карты не .map () определенно, только .forEach () , Есть ли основания для этого? похоже .map () семантика должна быть довольно легко определить здесь.
Sam Schick
1

голосов
2

ответ
36

Просмотры

how to sum the values in a list for a key in string datatype while having hyphen as one of value

У меня есть словарь по имени временных dict_items ([( '/ история / Аполло /', [ '6245', '6245', '6245', '6245', '6245', '6245', '6245', ' 6245 ']), (' / трансфер / отсчет /», [ '3985', '3985', '3985', '3985', '3985', '3985', '3985', '-', '-' , '-', '0', '3985', '4247', '3985', '3985', '3998', '0', '3985', '3985', '3985', '3985', ' 4247' , '3985', '3985', '398, '3985']), (' /», [ '7074', '7074', '7074', '7074', '7074', '7074', '7074', '7074', '7074', '7074', '70]), ( '/images/dual-pad.gif',[ '141308', '141308', '0', '141308', '141308', '141308', '0', '141308', '0', '141308', '141308']), ( '/ изображения / NASA-logosmall.gif», [ '0', '786', '786', '0', '786', '786', '786', '786', '786', '786', '786', '786', '786', '786', '786', '0', '786', '786', '786'])]) ее в основном URL-адрес и пропускной способности acossiated с конкретным URL я нужна сумма всех значений в списке, которые находятся в строке для определенного ключа, игнорируя при этом дефис, который является одним из значения для ключа требуемого выхода: dict_items ([( «/ история / аполлон /», [ «4996»], ( '/', [ '70810']), ( '/ изображения / двойная колодка.GIF», [ '113040']), ( '/images/NASA-logosmall.gif', [ '12576'])]) #Or полное значение для ключа без строки #dict_items ([(/ история / аполлон /, [4996], (/, [70810]) (/ изображения / двойной pad.gif, [113040]), (/images/NASA-logosmall.gif, [12576])]) мой код сумма = {к: сумма (я для я в Ú, если isinstance (я, целое)) для к, v в temp.items ()} это дает мне TypeError ошибки: неподдерживаемый тип операнда (ов) для +: «Int» и «ул», то я пытались суммы = {к: сумма (интермедиат (я) для я в ст) для K, V в [temp.values ​​()]} затем я попробовал печати ({к: сумма (карта (Int, [v])) для к, v в temp.items ()}) Ошибка при получении техника его подводит работы: TypeError: ожидается строка или байт-подобный объект будет признателен за любую помощь])]) #Or полное значение для ключа без строки #dict_items ([(/ история / аполлон /, [4996], (/, [70810]) (/ изображений / двойного pad.gif, [113040]), (/images/NASA-logosmall.gif, [12576])]) мой код сумма = {к: сумма (я для I в V, если isinstance (я, целый)) для к, v в temp.items ()} это дает мне TypeError ошибки: неподдерживаемый тип (ы) операнда для +: 'Int', а затем я попытался суммы = {к 'ул': сумма (интермедиат (я) для I в V) для K, V в [temp.values ()]} затем я попробовал распечатать ({к: сумма (карта (интермедиат, [v])) для к, v в temp.items ()}) Ошибка при получении техника его подводит работы: TypeError: ожидается строка или байт-подобный объект будет признателен за любую помощь])]) #Or полное значение для ключа без строки #dict_items ([(/ история / аполлон /, [4996], (/, [70810]) (/ изображений / двойного pad.gif, [113040]), (/images/NASA-logosmall.gif, [12576])]) мой код сумма = {к: сумма (я для I в V, если isinstance (я, целый)) для к, v в temp.items ()} это дает мне TypeError ошибки: неподдерживаемый тип (ы) операнда для +: 'Int', а затем я попытался суммы = {к 'ул': сумма (интермедиат (я) для I в V) для K, V в [temp.values ()]} затем я попробовал распечатать ({к: сумма (карта (интермедиат, [v])) для к, v в temp.items ()}) Ошибка при получении техника его подводит работы: TypeError: ожидается строка или байт-подобный объект будет признателен за любую помощьэлементы ()} это дает мне TypeError ошибки: неподдерживаемый тип операнда (ов) для +: 'Int' и 'ул', то я попытался суммы = {к: сумма (интермедиат (я) для I в V) для к, v в [temp.values ​​()]} затем я попробовал распечатать ({к: сумма (карта (интермедиат, [v])) для к, v в temp.items ()}) Didnt получаю ошибку работы: TypeError: ожидается строка или байтов -как объект будет признателен за любую помощьэлементы ()} это дает мне TypeError ошибки: неподдерживаемый тип операнда (ов) для +: 'Int' и 'ул', то я попытался суммы = {к: сумма (интермедиат (я) для I в V) для к, v в [temp.values ​​()]} затем я попробовал распечатать ({к: сумма (карта (интермедиат, [v])) для к, v в temp.items ()}) Didnt получаю ошибку работы: TypeError: ожидается строка или байтов -как объект будет признателен за любую помощь
Hansel Jade
1

голосов
1

ответ
152

Просмотры

Надежный словарь против Redis Cache

Я хочу, чтобы реализовать кэширование данных Cosmos DB. Я читал о Reliable словаря и Redis Cache. Я хочу знать: (1) Когда использовать надежный словарь в качестве механизма кэширования и какова продолжительность и емкость кэш-памяти? (2) Redis кэша рекомендуется, но какова мощность и продолжительность доступности?
RKh
1

голосов
0

ответ
43

Просмотры

Вложенный словарь - класс?

Я в настоящее время работаю на конфигурацию парсера Python, в этом случае, мне нужно построить вложенный словарь. Во-первых, я попробовал обычную «функцию», но теперь, я ищу класса с методами. Моя идея: Класс Dict -var dict_test => {} - метод level_up (ключ, значение = {}) - метод level_down (ключ, значение = {}) - метод current_add (ключ, значение = {}) d = Dict () печати (d.dict_test) => {} d.level_up ( "Тест1", "Значение1") печать (d.dict_test) => {{ "Тест1": "Значение1"}} d.current_add ( "Test2") печать (d.dict_test) => {{ "Тест1": "Значение1", "Test2": {}}} d.level_up ( "Test3") печать (d.dict_test) => {{ "Тест1": "Значение1" , "Test2": { "Test3", {}}}}} d.level_up ( "Test4", "Value4") печать (d.dict_test) => {{» level_down ( "test5", "Value5") печать (d.dict_test) => {{ "Тест1": "Значение1", "Test2": { "Test3", { "Test4", "Value4"} "test5": "Value5"}}} d.level_down ( "test6" "Value6") печать (d.dict_test) => {{ "Тест1": "Значение1", "Test2": { "Test3", { "Test4", "Value4"} "test5": "Value5"}, "test6": "Value6"}} Вопрос: существует ли этот вид класса? Я пытался развить эту потребность, но мои навыки не достаточно. level_down ( "test5", "Value5") печать (d.dict_test) => {{ "Тест1": "Значение1", "Test2": { "Test3", { "Test4", "Value4"} "test5": "Value5"}}} d.level_down ( "test6" "Value6") печать (d.dict_test) => {{ "Тест1": "Значение1", "Test2": { "Test3", { "Test4", "Value4"} "test5": "Value5"}, "test6": "Value6"}} Вопрос: существует ли этот вид класса? Я пытался развить эту потребность, но мои навыки не достаточно.
John
0

голосов
1

ответ
35

Просмотры

Получить значение словаря на основе ключа, с точки зрения MVC

Im пытается получить значение на основе ключа из словаря со следующим утверждением: Он просто бросает NULL ссылочного исключения, но у меня есть пара ключей значения с помощью клавиши «MyKey» @ Model.DictionaryTest [ «MyKey»] Должна ли я быть используя список словарей? Если так что вы можете дать мне заявление, чтобы извлечь из этого? UPDATE-- Это класс я передаю в качестве модели и в контроллере я наполнение словаря (я проверил эти значения нетронутые) общественного класс Dummy_PreHires_View_Model {общественного словарь DictionaryTest {получить. задавать; }} Это одна из данных по словарю, если это помогает, я попытался с помощью ключа, указанного на картинке, по-прежнему бросает NULL исключения: Словарь данных оснастка
siddharth sidhu
1

голосов
0

ответ
306

Просмотры

Swift: Не удается получить доступ словарь ключей без этой ошибки: Кис (_variantBuffer: Swift._VariantDictionaryBuffer

У меня есть очень простой словарь: пусть Dict = [ «имя»: «Джон», «фамилия»: «Doe»] Но когда я пытаюсь получить доступ к ключам словаря я получаю эту ошибку: Ключи (_variantBuffer: Swift. _VariantDictionaryBuffer.native (Swift._NativeDictionaryBuffer (_storage: Вот полная реализация: переопределение FUNC viewDidLoad () {super.viewDidLoad () пусть массив = [1,2,3,4,6,5] пусть Dict = [ "имя" : «Джон», «фамилия»: «Doe»] печать (массив) печать (dict.keys)} Любой из вас знает, почему я получаю эту ошибку и как это исправить, я действительно ценю вашу помощь?
user2924482
1

голосов
1

ответ
221

Просмотры

Как вставить словарь в Набор в swift3?

У меня есть простой словарь, который определяется как: пусть DIC = [ «ключ»: «значение»] Я хочу, чтобы добавить «ДИК» в этой карте: вар карта = Set () // вар карта = Set () _ = карта. вставить (DIC, как NSDictionary) Я не хочу использовать 'DIC, как NSDictionary. Но я понятия не имею, что, как я могу выполнить это действие я искал много в Интернете, но ничего не помогает мне.
Ycong
1

голосов
0

ответ
31

Просмотры

Conceptual error in linguistic python coding

Для фона: Некоторые буквы в финских словах не являются частью типичной орфографии и могут свидетельствовать о том, что слово произошло на другом языке. Это могут быть собственные имена на другом языке, или может быть заимствованные слова - то есть, они являются частью финского языка, но заимствовано из другого языка. Письма, которые могут указывать на слово является заимствованным словом являются: åcqxfgwz Я пытаюсь написать программу, которая отвечает следующим характеристики: функция под названием get_loan_words (имя файл), который читает в текстовом файле в финском и возвращает словарь отображения каждого письмо, показанное выше множества заимствованных, которые содержат его в текст, содержащийся в текстовом файле. Если более чем один из этих букв появляются в слове, набор, связанный с каждой буквой должен содержать слово. Если письмо не найдено в любом слове в тексте, оно не должно появляться в словаре. Функция должна преобразовать текст в нижний регистр и удалить знаки препинания перед созданием словаря. Например, если бы мы использовали следующий текст (отрывок из текстового файла): Kärppien kasvatti на pelannut SM-liigassa oululaisseuran lisäksi Pelicansin Сека HIFK: н riveissä, Миста Lahti viime kauden jälkeen juuri Rögleen. Аалтонен на nelinkertainen Suomen- Mestari JA kuusinkertainen SM-mitalisti.SM-liigan JA useiden Muiden huippusarjojen siirtoikkuna sulkeutuu энси viikolla. Словарь вернулся бы: { 'г': { 'smmitalistismliigan', 'smliigassa', 'rögleen'}, 'с': { 'pelicansin'}, 'е': { 'hifkn'}} Сейчас это код у меня есть: защиту find_loan (имя файла): кредиты = {} КРЕДИТНЫЙ = 'åcqxfgwz' с открытым (имя файла, 'г', кодирование = 'UTF-8') в виде записей: для строки в записи: Мои вопросы заключаются в следующем: Как удалить знаки препинания и преобразовать текст в нижний регистр в возвращаемом словаре, есть набор методов, который делает это для всех ключей / значений в словаре? Как мне сделать функцию добавления слов в набор из текстового файла и как я могу убедиться, если есть другая заимствованное слово буква в слове, что набор возвращает слово дважды под другим значения ключа?
John
1

голосов
1

ответ
270

Просмотры

Использование LINQ для заполнения словаря метода асинхронного [дублировать]

Этот вопрос уже есть ответ здесь: Как увлажнять словарь с результатами асинхронных вызовов? 4 ответа Я пытаюсь заполнить словарь. Метод GetData, который возвращает данные в асинхронном поэтому я использую следующий код, чтобы получить словарь: Var = MyDictionary объекты .GroupBy (е => e.EntityId) .Select (е => e.First ()) .ToDictionary (е => е .EntityId, асинхронная сущность => ждет GetData (лица)); К сожалению MyDictionary имеет тип словаря Как заполнить с помощью асинхронной лямбда в ToDictionary?
jabko87
1

голосов
0

ответ
58

Просмотры

Почему виртуальная память растет во время map_async работы с питоном?

Я пытаюсь создать межатомные расстояния N = 6000 атомов на 100 кадров. Каждый кадр содержит положение атомов в периодической границе окне. Я пытаюсь распараллелить этот процесс с использованием многопроцессорных инструментов питона. В основном я использую функцию map_async: Q = бассейн (нп) для группы в группах: first_frames.append (группа [0]) = start1 таймера () # S = q.map (dipoles.new_create_neighborlist, first_frames) s = q.map_async ( dipoles.new_create_neighborlist, first_frames) q.close () q.join () first_frames список объектов, который содержит атом позиции и т.д. Длина списка first_frames 1000. Количество процессоров 16. Она начинается хорошо, и делает вычисление без проблема. Однако через некоторое время виртуальной памяти, используемые процессы растет и дает виртуальную ошибку памяти. диполи. new_create_neighborlist возвращает список атомов с его neighborlists. Я пробовал ранее ответил методы, но не работает. Что я мог бы здесь не хватает?
dundar yilmaz
1

голосов
1

ответ
20

Просмотры

Имея столбец отображения Проблемы dataframe в словаре записи

Я ожидаю, следующий код для получения: SPEC DATATYPE НАПРАВЛЕНИЕ SPEC_PTERM Eye Micro East Peeper задних конечностей Clin East Ножка Нос Micro West Snoz test8 Clin South неотображённые Вместо этого он дает: SPEC DATATYPE НАПРАВЛЕНИЕ SPEC_PTERM Eye Micro East неотображённые задних конечностей Clin East Snoz Нос Micro West неотображённые test8 Clin South неотображённое Что с этим сегментом кода? specData = pd.DataFrame ([[ 'Нос', 'Snoz'], [ 'задних конечностей', 'Нога'], [ 'глаз', 'Подсматривающий']], столбцы = [ 'SPEC', 'SPEC_PREFERRED']) new_df = pd.DataFrame ([[ 'глаз', 'Micro', 'Восток'], [ 'задних конечностей', 'Clin', 'Восток'], [ 'Нос', 'Микро', 'Запад'], [ 'test8',
summersmd
1

голосов
1

ответ
173

Просмотры

Использование срезов [] reflect.Type как ключ карты

У меня есть кусок значений reflect.Type, которые определяют тип входа для функции, и я хочу, чтобы кэшировать результат, используя sync.Map. Я понимаю, что ломтики не могут быть использованы в качестве ключей карты в целом, так что я искал повсюду способ создания уникальных ключей из нескольких значений reflect.Type. Идеи включают Используя конкатенацию reflect.Type.String () для каждого подраздела. Godoc явно говорит не использовать его для равенства, так что ключи не будут уникальными. Используйте конкатенацию fmt.Sprintf ( "% # V", подключ) - смотрите здесь. Я не знаю, будут ли эти ключи быть уникальными. Создание дерева из sync.Maps [карты карт карт ... глубинной Len (срез)], где поиск для значения включает в себя обходе глубже в дереве карт для каждого подраздела. Это кажется медленным и громоздким, но должно работать. Жестко ограничение на количество ключей и хранить его в виде массива, размер которого верхний предел. Это будет работать, но жёстко предел раздражает, когда вы должны превышать предел. Ссылка на то, почему ломтики не могут быть использованы в качестве ключей указывает на то, что, как определить равенство на срезах может быть нечетким. В этом случае я хочу поэлементное равенство тогда и только тогда, когда ломтики имеют одинаковую длину. Было бы удивительным, чтобы найти байтовое представление reflect.Type похожего на решение подобной проблемы здесь. Смотрите также хэширования-отражения-типа. Было бы удивительным, чтобы найти байтовое представление reflect.Type похожего на решение подобной проблемы здесь. Смотрите также хэширования-отражения-типа. Было бы удивительным, чтобы найти байтовое представление reflect.Type похожего на решение подобной проблемы здесь. Смотрите также хэширования-отражения-типа.
Brent
1

голосов
1

ответ
65

Просмотры

synonyms and antonyms in a django dictionary app for local language

извините за этот вопрос, но у меня была проблема с сделать словарь приложения для местного языка, так что я не нужен английский словаря, моя проблема синонимы, я не могу понять, как реализовать это в моих моделях от Джанго. дб импорт модели из django.utils импорт часового пояса из django.contrib.auth.models импорта пользователя из django.core.urlresolvers импорта обратным # Создайте свои модели здесь. Класс Вок (models.Model): имя = models.CharField (max_length = 200, уникальный = True) Защита __str __ (Я): возвращение self.name Защита get_absolute_url (Я): возвращение назад ( "ВОК: подробно", kwargs = { "идентификатор": self.id, "название": self.name}) класс Defination (models.Model): ВОК = models.ForeignKey (Вок, related_name = 'definations') Defination = models.CharField (max_length = 500) пример = модель.
wilson irungu
1

голосов
1

ответ
73

Просмотры

Получить размер карты пара непрерывного, когда первые ключевые изменения

У меня есть карта подсчетов пар карт. Я перебор это и я вычисление некоторых чисел с плавающей точкой, если значение карты больше, чем 2. Теперь я хочу, чтобы сохранить число с плавающей точкой в ​​векторе, который является столь же большим, как количество аналогичных значений в моем первом элементе моя пара. Пример значений в моей карте: 1 1 4 1 2 5 1 3 5 1 7 5 1 29 2 .. Теперь первые ключевые изменения поэтому размер будет 4 (а не 5, потому что одно значение <3) 2 1 10 -20 4 ... Я попытался сделать минимальный пример, который объясняет это немного лучше: INT основного (интермедиат ARGC, символ ** ARGV) {// Создать несколько значений - оба вектора имеет одинаковые размеры векторные пары; pairs.push_back (make_pair (1, 1)); pairs.push_back (make_pair (1, 2)); pairs.push_back (make_pair (1, 4)); pairs.push_back (make_pair (2, 7)); pairs.push_back (make_pair (2, 4)); пар. push_back (make_pair (3, 5)); pairs.push_back (make_pair (3, 7)); pairs.push_back (make_pair (3, 8)); значение вектора; value.push_back (4); value.push_back (5); value.push_back (8); value.push_back (2); value.push_back (5); value.push_back (6); value.push_back (7); value.push_back (8); карта отсчеты; вектор descriptors_1, descriptors_2; вектор oa_simil; плавать Overall_Similarity; для (size_t = 0; я <pairs.size (); я ++) {counts.insert (make_pair (make_pair (пар [I] .first, пары [I] .second), значение [г])); } Для (сопзИте авто & р: имп) {сопзЬ авто & р1 = p.first.first; Const авто & p2 = p.first.second; Количество INT = p.second; если (p.second> = 3) {поплавка S = 0; // Два для-петли, которые вычисляют новый S для каждого p1, Сочетание р2> = 3 // S = ls_1; // 5 Linesegments в изображении 1, по сравнению с 5 Linesegments в изображении 2, если p.second> = 3 для (Int ls_1 = 0; ls_1 <5; ls_1 ++) {для (INT ls_2 = 0; ls_2 <5; ls_2 ++) {пара index_1, index_2; index_1 = make_pair (p1, ls_1); index_2 = make_pair (р2, ls_2); // вычисления подобия различных пар отрезков, в сложной функции calculateSimilarity (Overall_Similarity, descriptors_1, descriptors_2, index_1, index_2); oa_simil.push_back (Overall_Similarity); } // Получить максимальное сходство каждого отдельного отрезка в одном образе флоат max_M = * max_element (oa_simil.begin (), oa_simil.end ()); oa_simil.clear (); // Суммируем максимумов -> S содержит максимум для комбинации двух Linesegments p1, p2 (если р> = 3) S + = max_M; } // Теперь я хочу, чтобы получить максимальное значение S для каждого p1 // В этом примере я хочу максимально S из, например, на 3 пары (1,1), (1,2), (1,4). // Попытка нажать S в векторе, когда изменения p1. }}} Я уже пытался получить все ключи и значение S в новую карту, но это кажется пустой тратой времени вычислений, когда я уже перебирая мои ключи. } // Теперь я хочу, чтобы получить максимальное значение S для каждого p1 // В этом примере я хочу максимально S из, например, на 3 пары (1,1), (1,2), (1,4). // Попытка нажать S в векторе, когда изменения p1. }}} Я уже пытался получить все ключи и значение S в новую карту, но это кажется пустой тратой времени вычислений, когда я уже перебирая мои ключи. } // Теперь я хочу, чтобы получить максимальное значение S для каждого p1 // В этом примере я хочу максимально S из, например, на 3 пары (1,1), (1,2), (1,4). // Попытка нажать S в векторе, когда изменения p1. }}} Я уже пытался получить все ключи и значение S в новую карту, но это кажется пустой тратой времени вычислений, когда я уже перебирая мои ключи.
Grillteller
1

голосов
0

ответ
64

Просмотры

Извлечение содержимого ячейки на основе строки внутри ячейки с использованием словарей

Я совершенно новой для VBA и просматривал StackOverflow. Я нашел аккуратную VBA макрос, который использует словари и казалось, что он может быть применен к моей проблеме также. Однако, после редактирования макроса я не могу заставить его работать, как я имею в виду. Мои данные следующим образом: В колонке AI имеют номера Обзора, темы Обзора и номер анализа. Они следуют структуре, где число Review является первым, а затем 2 рядом позже есть тема обзора и в рамках темы обзора может быть несколько номерами анализа, но первый из них 2 строки ниже темы обзора. В столбце B есть сведения о рассматриваемом пункте. Я заинтересован в 3-х различных единиц (рост, вес и цена). Существуют иногда дополнительные детали здесь поэтому я использую сравнение строк (Instr). Иногда бывают меньше деталей. В целом данные не имеют достаточно специфическую форму, чтобы полагаться на количество строк между конкретными группами данных. Данные выглядит обычно так: https://imgur.com/a/QcdrMcR Цель состоит в том, чтобы переместить извлечь содержимое ячеек, содержащих номер отзыва, отзыв тему, номер анализа, рост, вес и цену. Они должны быть в отдельных клетках на той же строке. В случае множественного анализа, следующий анализ должен быть ниже строки, содержащей 1-анализ и рост, вес и цену Вслед за этим, как и раньше. номер Обзор и тему не нужно быть продублированы. В коде я использую словари и целые Лотта ElseIfs. Как я уже сказал, это в значительной степени взято из другого поста. Он отлично работает, если я пытаюсь найти 1-й детали анализа, но когда я пытаюсь найти все 3 он перестает работать вообще дает мне ошибку 424 объекта, необходимое на 2 последних ElseIfs в 1-м цикле. Кроме того, та часть, которая в основном работает (нахождение detailA, которая является высотой) работает только тогда, когда искал строка найдена на ячейки одной строки ниже текущей строки. Другими словами, так движется вниз, чтобы предотвратить перезапись номер изменения End If Next dictKey3 Else I = I + 1 «не сообщается, так что движется вниз, чтобы предотвратить перезапись номер изменения End If Next dictKey2 Else I = I + 1» без изменений при условии, таким образом движется вниз, чтобы предотвратить перезапись число изменений End If Next dictKey1 End Sub Я также открыт для любых других улучшений. Моя логика кажется очень тяжелым, но я не мог заставить его работать, даже до такой степени с любыми другими способами (пытались использовать больше петель и меньше, если-структуры). Я планирую подрезку содержимого ячеек включать только число, но это беспокойство за будущее. Я уже сделал рабочие формулы первенствовать для этого. так движется вниз, чтобы предотвратить перезапись изменения номера End If Next dictKey2 Else I = I + 1 «без изменений при условии, таким образом перемещается вниз, чтобы предотвратить перезапись номер изменения End If Next dictKey1 End Sub Я также открыт для любых других улучшений. Моя логика кажется очень тяжелым, но я не мог заставить его работать, даже до такой степени с любыми другими способами (пытались использовать больше петель и меньше, если-структуры). Я планирую подрезку содержимого ячеек включать только число, но это беспокойство за будущее. Я уже сделал рабочие формулы первенствовать для этого. так движется вниз, чтобы предотвратить перезапись изменения номера End If Next dictKey2 Else I = I + 1 «без изменений при условии, таким образом перемещается вниз, чтобы предотвратить перезапись номер изменения End If Next dictKey1 End Sub Я также открыт для любых других улучшений. Моя логика кажется очень тяжелым, но я не мог заставить его работать, даже до такой степени с любыми другими способами (пытались использовать больше петель и меньше, если-структуры). Я планирую подрезку содержимого ячеек включать только число, но это беспокойство за будущее. Я уже сделал рабочие формулы первенствовать для этого. так движется вниз, чтобы предотвратить перезапись число изменений End If Next dictKey1 End Sub Я также открыт для любых других улучшений. Моя логика кажется очень тяжелым, но я не мог заставить его работать, даже до такой степени с любыми другими способами (пытались использовать больше петель и меньше, если-структуры). Я планирую подрезку содержимого ячеек включать только число, но это беспокойство за будущее. Я уже сделал рабочие формулы первенствовать для этого. так движется вниз, чтобы предотвратить перезапись число изменений End If Next dictKey1 End Sub Я также открыт для любых других улучшений. Моя логика кажется очень тяжелым, но я не мог заставить его работать, даже до такой степени с любыми другими способами (пытались использовать больше петель и меньше, если-структуры). Я планирую подрезку содержимого ячеек включать только число, но это беспокойство за будущее. Я уже сделал рабочие формулы первенствовать для этого.
aso im
1

голосов
0

ответ
80

Просмотры

Создание Gensim Словарь от Term-Document-Matrix

Я пытаюсь создать словарь для gensim оценить мои модели с темы когерентности. Следующий код не обеспечивает массив Юникод лексем, но одну строку: с открытой (TDM_dateipfad, перевод строки = «»), как csvfile: читатель = csv.reader (csvfile, ограничитель = «;», QuoteChar = «|») #TDM öffnen для строки в читателя: ДИКТ = строка [0] = словарь corpora.Dictionary (ДИКТ) с этого поста я знаю, что следующий код дает свой ответ, но я не знаю, как превратить это в переменную, чтобы получить словарь от него. с открытым (TDM_dateipfad, перевод строки = ''), как csvfile: читатель = csv.reader (csvfile, ограничителем = ';', QuoteChar = '|') #TDM öffnen печати ([я [0] для я в считывающего]) Редактировать : это первые пять строк моего файла CSV.
Nils_Denter
1

голосов
1

ответ
46

Просмотры

Словарь ключ, значение пары ячейки в столбцах, чье имя является ключевым и строка значение панд

Я нашел, что это очень трудно сформулировать вопрос, используя правильные слова .. Но я надеюсь, что я сделал хорошую работу .. Вот пример того, что я искусственно созданным, чтобы вы могли воспроизвести его в консоли. Пример = pd.DataFrame ([[ 'а', [{ 'а1': 1, 'а2': { '' количество: 20, 'валюта': 'USD'}, 'а3': 57}, { 'а1 ': 4, 'a2': {' количество ': 50, 'валюта': 'USD'}}, {' a1 ': 7, 'a2': {' количество ': 80, 'валюта': 'USD' }}], 10, 11], [ 'B', [{ 'а1': 13, 'а2': { 'количество': 140, 'валюта': 'USD'}}, { 'а1': 2, 'a2': { 'количество': 50, 'валюта': 'USD'}}, { 'a1': 3, 'А2': { 'количество': 90, 'валюта': 'USD'}}], 16, 17], [ 'с', [{ 'а1': 8, 'а2': { 'количество': 75 , 'валюта': 'USD'}}, { 'а1': 9, 'а2': { 'количество': 90, 'валюта': 'USD'}, 'а3': 98}, { 'а1': 6, 'а2': { '' количество: 10, 'валюта': 'USD'}}], 11, 12]]) example.columns = [ 'столбец1', 'столбец2', 'Столбец3', 'column4' ] печати (пример) второй столбец примере DataFrame является список словаря гнезда, как структура. печать (example.loc [[0], [ "column2"]] values.tolist ().) [[[{ 'a1': 1, 'a2': { 'количество': 20, 'валюта': «USD «}, 'а3': 57}, { 'A1': 4, 'a2': { 'количество': 50, 'валюта': 'USD'}}, { 'a1': 7, 'a2': { 'количество': 80, 'валюта': 'USD'}}]]] Это строка 0, столбец с именем column2, что я распечатан с помощью LOC. Печати (exampleSolution) заявление должно дать вам панду DataFrame Я ищу, чтобы получить. exampleSolution = pd.DataFrame ([[ 'а', 1, 20, 'USD', 57, 10, 11], [ 'а', 4, 50, 'USD', Отсутствует, 10, 11], [ 'а », 7, 80, 'USD', Отсутствует, 10, 11], [ 'B', 13, 140, 'USD', Отсутствует, 16, 17], [ 'B', 2, 50, 'USD', ни, 16, 17], [ 'B', 3, 90, 'USD', Отсутствует, 16, 17], [ 'с', 8, 75, 'USD', Отсутствует, 11, 12], [» с '9, 90, 'США', 98, 11, 12], [ 'с', 6, 10, 'USD', Отсутствует, 11, 12]]) exampleSolution.columns = [ 'столбец1',' а1 »,„количество“,„валюта“,„a3“,„колонка3“,„column4“] печать (exampleSolution) в принципе, я хочу словарь внутри cOLUMN2 быть распакованы для каждой строки, я хочу ключ словаря, чтобы быть дополнительным имя столбца, а значение в строке, чтобы быть в словаре значение, соответствующее этому ключу. В случае, если есть определенные ключи, пары значений других строк (например, в моем примере мы видим, что первый ряд 0, что я использовал LOC распечатать имея этот ключ a3 в то время как та же строка 0 не имеет a3 во втором и третий элемент вложенного словаря! И точно так же, строка 2 также имеет ключевое a3 во втором пункте своего вложенного словаря. Точно так же я хочу, чтобы решение быть устойчивым к случаям были там может быть конкретный ключ, пара значений в гнездовой словарь, который никогда не видел в любой другой строке! Там может быть а4 в пределах вложенного словаря Столбец2 для конкретной строки, и а5 для другой строки, я хочу, чтобы те дополнительный столбец существовать в результате DataFrame независимо; с None или NaN! Кроме того, второй столбец, как вы, возможно, видели теперь имеет ключ а2, в котором есть вложенная (ключ, значение) пара, которую я хочу как отдельные столбцы суммы, ключ валюты, стоимость пары. column1 a1 сумма валюты a3 колонка3 column4 0 1 20 USD 57. 0 10 11 1 4 50 долларов США NaN 10 11 2 7 80 USD NaN 10 11 3 B 13 140 долларов NaN 16 17 4 б 2 50 USD NaN 16 17 5 б 3 USD 90 NaN 16 17 6 ​​с 8 75 USD NaN 11 12 7 с 9 90 USD 98,0 11 12 8 с 6 10 USD NaN 11 12 Что я сделал до сих пор? Мне стыдно сказать, что я не знаю, с чего начать .. В приведенных выше примере это НАМНОГО МЕНЬШЕ версии DataFrame панды, что я полученная из JSON-файл (300 МБ). Я изначально,
Abhishek
1

голосов
1

ответ
38

Просмотры

CSV to nested dictionary in Python (without Pandas)

У меня есть CSV, что я хотел бы, чтобы обработать в гнездовой словарь, путем группирования на основе значений в столбцах. Он имеет следующий формат: образец, дата, глубину, аналит, результат 'ABC', '01 / 01 / 2018' , '3', 'СВИНЦОВО', 0,22 'ABC', '02 / 01 / 2018' , «3 ' 'СВИНЦОВО', 0,25 'ABC', '01 / 01 / 2018' , '5', 'LEAD', 0.19 'ABC', '02 / 01 / 2018' , '5', 'СВИНЦОВО', 0,18' АВС», '01 / 01 / 2018' , '3', 'МЕРКУРИЙ', 0,97 'ABC', '02 / 01 / 2018' , '3', 'МЕРКУРИЙ', 0,95 'ABC', '01 / 01 / 2018' , '5', 'МЕРКУРИЙ', 0,34 'ABC', '02 / 01 / 2018' , '5', 'МЕРКУРИЙ', 0,11 'DEF', '01 / 01 / 2018' , '3', ' LEAD '0,07 'DEF',' ] = [[ «LEAD», 0,19], [ «МЕРКУРИЙ», 0,34]] Я хотел бы избежать использования панды, хотя я знаю, что это может быть хорошо подходят для выполнения этой задачи - я ищу решение вещего. Это трудно - потому что я должен вмещать несколько образцов, несколько дат, несколько глубин, и несколько аналитов. Я новичок, и вложенные циклы, которые я пробовал пожарили мой мозг. Любая помощь приветствуется ..
Ian B
1

голосов
0

ответ
40

Просмотры

Как обнаружить маркер на ломаной линии в буклетницах JS

У меня есть много ломаных говорят AB, CD, EF и так далее. У меня есть маркер (например H) на каком-то месте на карте. Теперь я перетащить маркер на любом из указанных выше ломаных линий. После падения маркера на ломаной линии Я хочу изменить цвет этой конкретной ломаной линии. Может кто-нибудь, пожалуйста, помогите мне в этом? Заранее спасибо !!!
Kushal
1

голосов
1

ответ
708

Просмотры

Запись словаря dataframes в файл

У меня есть словарь, и для каждого ключа в моем словаре, у меня есть один панд dataframe. В dataframes от ключа к ключу имеют разную длину. Это займет некоторое время, чтобы добраться до dataframes, которые подключены к каждому ключу, и поэтому я хочу, чтобы сохранить свой словарь dataframes в файл, так что я могу просто прочитать файл в Python вместо того, чтобы мой скрипт каждый раз, когда я открываю Python. Мой вопрос: Как вы могли бы предложить, чтобы написать словарь с dataframes в файл - и читать его снова? Я попытался следующий, где dictex является словарь: ш = csv.writer (открытым ( "output.csv", "ш")) для ключа, вал в dictex.items (): w.writerow ([ключ, вал ]) Но я не совсем уверен, если я получаю то, что я хочу, а я изо всех сил, чтобы снова прочитать файл в Python. Спасибо за ваше время.
C. Refsgaard
1

голосов
2

ответ
60

Просмотры

LinqToExcel to load Dictionary

I have the following worked out but quite less than elegant. I'd like to work this out with ToDictionary if possible. Thank you for any help as I'm pretty new. var excel = new ExcelQueryFactory(@"E:\MAHipotCepaStationProgram.xlsx"); //get list of program names List testNames = new List(); testNames.AddRange(excel.Worksheet().ToList() .Where(s => s["Program #"].Value.ToString() == "Program Title") .Select(s => s[1].Value.ToString())); //get list of program numbers List testNumbers = new List(); testNumbers.AddRange(excel.Worksheet().ToList() .Where(s => s["Program #"].Value.ToString() == "Program #") .Select(s => Convert.ToInt32(s[1].Value))); //combine them Dictionary programs = new Dictionary(); for (int x = 0; x < testNames.Count-1; x++) { if (!programs.ContainsKey(Convert.ToInt32(testNumbers[x]))) { programs.Add(Convert.ToInt32(testNumbers[x]), testNames[x]); } else { testNumbers[x].Dump("Duplicate Found"); } } programs.Dump("Dict"); This is as close as I've gotten, but not right. Error: "Requires a receiver of type IEnumberable string which isn't computing with me: var excel = new ExcelQueryFactory(@"E:\MAHipotCepaStationProgram.xlsx"); Dictionary programsDict = excel.Worksheet().ToDictionary( e => e["Program #"].Value.ToString() == "Program Title") .Select(s => s[1].Value.ToString()), f => f.Where(d => d.Value.ToString() == "Program #").ToString());
1

голосов
1

ответ
29

Просмотры

Возврат наиболее близкое значение в справочной таблице, и поместить в список dicts

У меня есть список dicts как так: my_data = [{ 'ID': 'А', 'плотность': 0,7}, { 'ID': 'В', 'плотность': 1,5}, { 'ID': ' C» 'плотности': 3,75}] и справочная таблица (LUT) в виде списка dicts как так: LUT = [{ 'плотности': 1,1 'емкость': 5,19}, { 'плотности': 2,5, «емкость»: 9,42}, { «плотности»: 4,3 «емкости»: 16,78}] для каждого Dict в my_data, я хочу взять «плотность» и найти ближайшую соответствующую «плотность» значение в LUT. Затем я хочу, чтобы добавить соответствующий пункт «емкость» в этот Словарь. Я начал с функцией, как так: function_for_adding_capacity четкости (данные, LUT): my_list_of_dicts = [] для опорной точки в данном: для элемента в LUT: нулевая точка [»
1

голосов
1

ответ
70

Просмотры

Добавление новых значений в словаре Python

Я пытаюсь добавить новый ключ значение пары в к словарю: Что мой код выхода на данный момент: dict_items ([((2, 2), 2)]) То, что я на самом деле хочу: {(0, 0): 0 }, {(0, 1): 2}, {(0, 2): 3}, {(1, 0): 1}, {(1, 1): 1}, {(1, 2): 2 }, {(2, 0): 5}, {(2, 1): 3}, {(2, 2): 2} Может кто-нибудь объяснить, как обновить мой словарь с новыми пар ключ-значение? Я попытался с помощью вызова функции обновления, но получил следующее сообщение об ошибке: TypeError: unhashable типа: «набор» Любая помощь высоко ценится! distanceList = [] trainingset = [5, 6, 10] testset = [5,7,8] для я в trainingset: для J в testset: расстояние = абс (Ij) значений = Dict () значения [trainingset.index (I ), testset.index (J)] = расстояние # values.update ({{trainingset.index (я), testset.index (к)}: distace}) distanceList.

Просмотр дополнительных вопросов