Tag: namedtuple

Понимание проблемы с именем namedtuple typename и pickle в Python

Раньше сегодня у меня возникли проблемы с попыткой рассортировать экземпляр namedtuple . Как проверка работоспособности, я попробовал запустить код, который был отправлен в другом ответе . Вот оно, упрощено немного больше: from collections import namedtuple import pickle P = namedtuple("P", "one two three four") def pickle_test(): abe = P("abraham", "lincoln", "vampire", "hunter") f = open('abe.pickle', […]

Отображение строк результатов в namedtuple в python sqlite

Я немного играю с python api для sqlite3, у меня есть небольшая таблица для языков хранения с полями id, name и creation_date. Я пытаюсь отобразить результаты необработанных запросов в namedtuple как рекомендуется документами, так что я могу управлять строками более читаемым способом, так что вот мой namedtuple . LanguageRecord = namedtuple('LanguageRecord', 'id, name, creation_date') Код, […]

Невозможно установить атрибут для подклассов namedtuple

Похоже, что это или есть некоторые связанные темы, но до сих пор не разобрались! Я пытаюсь создать подкласс namedtuple и предоставить различные инициализаторы, чтобы я мог строить объекты по-разному. Например: >>> from collections import namedtuple >>> class C(namedtuple("C", "x, y")) : … __slots__ = () … def __init__(self, obj) : # Initialize a C instance […]

Как названные кортежи реализуются внутри python?

Именованные кортежи легко создавать, облегчают типы объектов. namedtuple экземпляров namedtuple можно ссылаться с использованием объектной переменной отсрочки или стандартного кортежа. Если к этим структурам данных можно получить доступ как по методам отсрочки объектов, так и по индексам, как они реализуются внутри страны? Это через хэш-таблицы?

Сериализация вложенного namedtuple в JSON с помощью Python> = 2.7

У меня проблема, подобная проблеме CalvinKrishy. Решение Samplebias не работает с данными, которые у меня есть. Я использую Python 2.7. Вот данные: Namedtuple >>> a_t = namedtuple('a','f1 words') >>> word_t = namedtuple('word','f2 value') >>> w1 = word_t(f2=[0,1,2], value='abc') >>> w2 = word_t(f2=[3,4], value='def') >>> a1 = a_t(f1=[0,1,2,3,4],words=[w1, w2]) >>> a1 a(f1=[0, 1, 2, 3, 4], […]

вложение с помощью именованного набора

У меня возникли проблемы с получением моих данных в форме, которая мне нужна на python. В основном у меня есть программа, которая читает в двоичных данных и предоставляет функции для построения и анализа данных. Мои данные имеют основные заголовки, а затем подзаголовки, которые могут быть любыми различными типами данных. Я хотел бы иметь доступ к […]

Соглашение об именах Python – namedtuples

Я новичок в Python, и я читал как онлайн-документацию, так и (пытается) следовать PEP 0008, чтобы иметь хороший стиль кода Python. Мне интересен сегмент кода, который я нашел в официальных документах Python, изучая библиотеку re: import collections Token = collections.namedtuple('Token', ['typ', 'value', 'line', 'column']) Я не могу понять, почему переменная Token называется с заглавной буквой; […]

Pythonic способ конвертировать словарь в namedtuple или другой хэшируемый dict-like?

У меня есть словарь вроде: d = {'a': 1, 'b': 2, 'c': 3, 'd': 4} который я хотел бы преобразовать в namedtuple. Мой текущий подход связан со следующим кодом namedTupleConstructor = namedtuple('myNamedTuple', ' '.join(sorted(d.keys()))) nt= namedTupleConstructor(**d) который производит myNamedTuple (a = 1, b = 2, c = 3, d = 4) Это работает отлично для […]

Должны ли namedtuples следовать постоянным соглашениям имен в python?

Я написал небольшой модуль python, где я использую пару названий, чтобы передавать информацию, потому что я нахожу их очень выразительными. Я рассмотрел эти типы и назвал их после соглашения PEP8 для имен классов (CamelCased). Однако pylint видит линию: PersonData = collections.namedtuple('PersonData', 'name surname age') в глобальном масштабе модуля и идет: Неверное имя константы 'PersonData'. Я […]

как добавить поля в namedtuple?

Я работаю со списком namedtuples. Я хотел бы добавить поле к каждому названному кортежу после его создания. Кажется, я могу это сделать, просто ссылаясь на него как на атрибут (как в namedtuple.attribute = 'foo' ), но затем он не добавляется в список полей. Есть ли причина, почему я не должен делать это таким образом, если […]

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