Tag: python 3.x

Обходной путь для равенства вложенных функций

У меня есть вложенная функция, которую я использую в качестве обратного вызова в pyglet : def get_stop_function(stop_key): def stop_on_key(symbol, _): if symbol == getattr(pyglet.window.key, stop_key): pyglet.app.exit() return stop_on_key pyglet.window.set_handler('on_key_press', get_stop_function('ENTER')) Но потом я сталкиваюсь с проблемами позже, когда мне нужно снова ссылаться на вложенную функцию: pyglet.window.remove_handler('on_key_press', get_stop_function('ENTER')) Это не работает из-за того, как функции python […]

Проверить инициализированную переменную в Python

Я новичок в Python, и я немного играю с некоторыми фрагментами кода. В моем коде мне нужно проверить инициализацию переменной, и я использовал эту идиому: if my_variable: # execute some code но, читая некоторые сообщения, я обнаружил, что используется эта идиома: if my_variable is not None: # execute some code Являются ли они эквивалентными или […]

Пустой список равен None или нет?

Возможный дубликат: Почему «[] == False» оценивается в False, когда «if not []» преуспевает? Я новичок в python в зависимости от троичного оператора python >>> 'true' if True else 'false' true true Я ожидаю, что для вывода кода ниже [], поскольку [] не равно None >>> a=[] >>> a==None False >>> a if a else […]

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

Мне нужно усечь десятичные типы без округления и сохранить десятичный тип, максимально эффективным для процессора. Варианты Math, которые, как мне кажется, возвращают float. Опция квантования возвращает округленное число, которое я считаю. Параметры Str являются дорогостоящим процессом. Есть простой, прямой способ просто вырезать цифры с десятичным типом за заданную десятичную длину?

Петля Python: индекс списка вне диапазона

Учитывая следующий список: a=[0,1,2,3] Я хотел бы создать новый список, b, который состоит из элементов, для которых суммируются текущее и следующее значение a. Он будет содержать 1 элемент меньше, чем a. Вот так: [1,3,5] (от 0 + 1, 1 + 2 и 2 + 3) Вот что я пробовал: b=[] for i in a: b.append(a[i+1]-a[i] […]

Маркировка дубликатов в списке

Скажем, у меня есть список имен в python, например: names = ['Alice','Bob','Carl','Dave','Bob','Earl','Carl','Frank','Carl'] Теперь я хочу избавиться от того, что в этом списке есть дубликаты имен, но я не хочу их удалять. Вместо этого для каждого имени, которое появляется более одного раза в этом списке, я хочу добавить суффикс к этому имени, где суффикс является n-м […]

Как преобразовать сортировку с помощью cmp из python 2 в python 3?

Я пытаюсь преобразовать этот код, который написан на python 2 на python 3 nums = ["30", "31"] num.sort(cmp=lambda x, y: cmp(y + x, x + y)) Не уверен, как это сделать в python 3, поскольку cmp удален (я полагаю) Результат должен быть ["31", "30"] вместо ["30", "31"]

задавать вопросы и задавать вопросы с Python

Не знаю, почему это работает при использовании set и zip: >>> a = ([1]) >>> b = ([2]) >>> set(zip(a,b)) {(1, 2)} но этого нет. >>> a = ([1],[2]) >>> b = ([3],[4]) >>> set(zip(a,b)) Traceback (most recent call last): File "<pyshell#21>", line 1, in <module> set(zip(a,b)) TypeError: unhashable type: 'list' Желаемый результат (1,3) (2,4) […]

Высота бинарного дерева

Я пытаюсь реализовать рекурсивный метод для вычисления высоты двоичного дерева. Вот код «height»: def height(self): if self.root==None: return 0 return max(height(self.root.left), height(self.root.right))+1 Когда я пытаюсь вызвать функцию, я получаю следующую ошибку msg: NameError: name 'height' is not defined Кто-нибудь видит проблему?

Создание словарей из массивов в Python

У меня 3 массива numpy: a = numpy.array([['x','y']]) b = numpy.array([['x1','y1']]) c = numpy.array([['x2','y2']]) Я хочу создать словарь как: d={'x': ['x1','x2'], 'y':['y1','y2']} Как создать такой словарь?

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