Архив метки: Python

Тернарный оператор в Python

Тернарные операторы — это встроенные в Python условные операторы, которые используются для оценки определенных условий. Он оценивает, является ли условие истинным или ложным. Как и оператор if-else, это еще один способ определения условных операторов. Тернарный оператор определяется в одной строке. Оператор if-else и тернарный оператор возвращают аналогичный результат. Тернарный оператор был представлен в Python версии 2.5. В этой статье подробно объясняется тернарный оператор Python с примерами.

 

Синтаксис

Давайте сначала обсудим синтаксис тернарного оператора Python. Синтаксис следующий:

[on_true] if [expression or condition] else [on_false]

При использовании тернарного оператора сначала мы пишем имя переменной, значение которой должно проверяться в условии. Оператор on_flase выполняется, когда данное условие не выполняется.

 

Примеры

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

#обьявление переменной a num1

num1=5

#обьявление переменной a num2

num2=10

#использование тернарного оператора для проверки наибольшего значения

result= num1 if num1>num2 else num2

print("The highest value is: ",result)

 

Тот же пример можно реализовать с помощью оператора if-else. Тернарный оператор выполняет задание в одной строке; однако оператор if-else использует несколько строк кода для одной и той же задачи. Давайте реализуем приведенный выше пример с помощью оператора if-else.

#объявление переменной num1

num1=5

#объявление переменной num2

num2=10

#реализация оператора if else

if(num1>num2):

result=num1

else:

result=num2

#печать самого высокого значения

print("Самое высокое значение-это: ",result)

 

Также может быть реализован вложенный тернарный оператор. Давайте реализуем вложенный тернарный оператор в нашем скрипте Python.

#объявление переменной num1

num1=5

#объявление переменной num2

num2=10

#Реализация вложенного тернарного оператора

print ("num1 больше, чем num2" if num1>num2 else "num1 меньше, чем num2"

if num1==num2 else "Оба числа не равны")

 

Способы реализации тернарного оператора Python

Есть разные способы реализации тернарного оператора Python. Мы можем реализовать тернарный оператор Python, используя кортежи, словари и лямбда-функции. Давайте реализуем тернарный оператор с помощью кортежа. Мы создали две числовые переменные num1 и num2 и сохранили случайные числа в этих переменных. Случайные числа в Python создаются с помощью функции random(). Функция random() присутствует в модуле random.

import random

num1=random.random()

num2=random.random()

#реализация тернарного оператора

print((num1, num2) [num1>num2])

 

По выходным данным мы не можем определить, что это значение num1 или num2. Давайте реализуем приведенный выше код следующим образом:

import random

num1=random.random()

num2=random.random()

print((f"num1:{num1}", f"num2:{num2}") [num1>num2])

 

Хорошо! Теперь давайте реализуем тернарный оператор, используя словарь Python и лямбда-функцию.

import random

num1=random.random()

num2=random.random()

#использование словаря Python

print("Использование словаря Python:")

print(({True:f"num1:{num1}",False:f"num2:{num2}"}[num1>num2]))

#использование лямбда-функции

print("Использование лямбда-функции:")

print((lambda: f"num1:{num1}", lambda: f"num2:{num2}")[num1>num2]())

 

Вывод

Тернарные операторы — это встроенные в Python операторы, которые оценивают данное условие. Это работает как оператор if-else. В этой статье подробно объясняется тернарный оператор Python.



2020-11-30T11:55:12
Python

Как найти длину списка в Python

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

В этой статье показано, как определить длину списка.

len() Функция

Python имеет встроенную функцию len() которая возвращает длину заданного объекта. Объектом может быть список , кортеж, строка, словарь и т. Д.

Синтаксис функции len() следующий:

len(list)

Функция принимает только один аргумент. Возвращаемое значение — целое число, которое представляет собой количество элементов в списке.

Вот пример:

capitals = ['Tokyo', 'Sofia', 'London', 'Budapest']

list_len = len(capitals)

print("The list has {0} elements.".format(list_len))

The list has 4 elements.

Использование цикла

Другой способ узнать длину списка — использовать цикл for . Это работает путем установки счетчика и перебора всех элементов списка. На каждой итерации текущее значение переменной counter увеличивается на единицу.

Ниже приведен пример кода, который показывает, как найти количество элементов в заданном списке с помощью цикла for :

capitals = ['Tokyo', 'Sofia', 'London', 'Budapest']
counter = 0

for capital in capitals:
  counter = counter + 1

print("The list has {0} elements.".format(counter))

The list has 4 elements.

Этот метод не очень питонический. Вы всегда должны предпочесть использовать функцию len() .

Выводы

Чтобы узнать длину списка в списке Python, используйте функцию len() .

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.



2020-11-29T06:13:00
Python

OrderedDict в Python

Структуры данных являются важными компонентами любого языка программирования, которые эффективно хранят данные и управляют ими. Python предоставляет множество встроенных структур данных, например списков, кортежей и словарей, которые помогают программистам создавать эффективные приложения. Словари Python хранят данные в парах ключ-значение. OrderedDict является подклассом класса dict и поддерживает порядок вставленных ключей. Это единственное различие между dict и OrderDict. Диктовка не поддерживает порядок ключей.

OrderedDict сохраняет порядок вставки ключей, и когда мы перебираем OrderedDict, он возвращает ключи в том же порядке. С другой стороны, когда итерация выполняется для dict, ключи возвращаются в случайном порядке. Однако словари теперь упорядочены в версиях Python 3.6 и выше и возвращают значения в том же порядке, в котором они были вставлены. Класс OrderedDict существует в модуле коллекций. Поэтому, чтобы использовать класс OrderedDict, сначала импортируйте модуль collections. Эта статья подробно объясняет Python OrderedDict с примерами.

 

Примеры

Давайте создадим OrderedDict в нашем скрипте Python и добавим данные в виде ключей и значений. Items() — это встроенная функция Python, которая возвращает информацию о ключах и значениях.

# импорт модуля коллекций



import collections



# создание OrderedDict



my_dict = collections.OrderedDict()



my_dict["A"]=1



my_dict["B"]=2



my_dict["C"]=3



my_dict["D"]=4



# объявление цикла for для перебора OrderDict



for i in my_dict.items():



print(i)



В выводе можно заметить, что OrderedDict возвращает ключи и значения в том же виде, что и вставленные.

Теперь давайте создадим еще один OrderDict студента и сохраним в нем информацию о студенте.

# импорт модуля



import collections



# создание OrderedDict студента



std_dict = collections.OrderedDict()



std_dict['name']='AndreyEx'



std_dict['age']=23



std_dict['email']='AndreyEx@example.ru'



std_dict['class']='BS'



# объявление цикла for для перебора OrderDict



for i in std_dict.items():



print(i)



Изменение значений ключей

Мы можем изменить значение конкретного ключа OrderedDict. Если мы изменим значение любого конкретного ключа, порядок ключей останется таким же в OrderDict. Давайте изменим значение возраста в студенте OrderDict.

# импорт модуля коллекций



import collections



# создание OrderedDict студента



std_dict = collections.OrderedDict()



std_dict['name']='AndreyEx'



std_dict['age']=23



std_dict['email']='AndreyEx@example.ru'



std_dict['class']='BS'



print ( "Порядок ключей перед изменением значения возраста: "



for i in std_dict.items():



print(i)



# изменение значения возраста



std_dict['age']=25



print ( "Порядок ключей после изменения значения возраста:" )



for i in std_dict.items():



print(i)



Выходные данные показывают, что порядок ключей остается неизменным, когда мы изменяем значение определенного ключа.

 

Удаление значения из OrderedDict

Удаление значений из OrderDict не меняет порядок ключей. Если мы удалим определенный ключ и снова вставим его, он будет добавлен в конце. Давайте посмотрим на пример. Мы удалим ключ «возраст» из студенческого словаря, а затем снова вставим его.

# импорт модуля коллекций



import collections



# создание OrderedDict студента



std_dict = collections.OrderedDict()



std_dict['name']='AndreyEx'



std_dict['age']=23



std_dict['email']='AndreyEx@example.ru'



std_dict['class']='BS'



print ( "Порядок ключей перед изменением значения возраста: "



for i in std_dict.items():



print(i)



# удаление ключа возраста



del std_dict['age']



print ( "Порядок ключей после удаления ключа возраста:" )



for i in std_dict.items():



print(i)



# повторная вставка ключа возраста и значения



std_dict['age']=23



print ( "Порядок ключей после повторной вставки ключа возраста:")



for i in std_dict.items():



print(i)



В выводе можно увидеть, что когда мы повторно вставляем ключ, он вставляется в конце.

 

Вывод

OrderedDict — это подкласс dict, который упорядочивает ключи по порядку и сохраняет порядок при их вставке. Класс OrderedDict является частью модуля коллекций. Эта статья объясняет OrderedDict и его функциональные возможности с примерами.



2020-11-28T16:49:06
Новости

Функция Lambda в Python

Python — это универсальный и широко используемый в последнее время язык программирования. Однако Python предоставляет множество встроенных функций для выполнения множества конкретных задач. Однако мы можем создавать свои собственные функции для выполнения конкретной задачи. В Python ключевое слово lambda создает анонимную функцию. Функция без имени называется анонимной функцией. Обычно обычная функция в Python создается с использованием ключевого слова def. У него есть название и круглые скобки. В то время как анонимная функция используется с ключевым словом лямбда. Поэтому анонимная функция также известна как лямбда-функция. В этой статье объясняется лямбда-функция Python на примерах.

 

Синтаксис лямбда-функции

Лямбда-функция может принимать несколько аргументов и только одно выражение. Выражение выполняет свою работу, и результат возвращается. Синтаксис лямбда-функции:

lambda argument(s) : expression

Важно помнить, что лямбда-функция ограничена только одним выражением. Лямбда-функция может быть реализована в скрипте Python, когда нам нужно создать объект функции. Давайте реализуем лямбда-функцию в нашем скрипте Python.

 

Пример 1. Вычислить сумму чисел с помощью лямбда-функции.

Давайте создадим лямбда-функцию для вычисления чисел. Лямбда-функция принимает два числа в качестве аргумента и возвращает результат.

# программа для создания лямбда-функции

# создание лямбда-функции

sum_val = lambda a,b : a+b

# передача аргументов и печать значения суммы

print(sum_val(5,10))

 

Давайте определим нормальную функцию, чтобы понять разницу между нормальной и лямбда-функцией.

# создание нормальной функции

def sum_val(a,b):

return a+b

# передача аргументов и печать значения суммы

print("The sum value is: ",sum_val(5,10))

 

Обе функции возвращают одно и то же значение при передаче похожих аргументов. В обычной функции мы используем ключевое слово def и должны написать имя функции. После выражения суммы мы помещаем оператор return в конец, чтобы вернуть значение результата. В лямбда-функции оператор возврата не включен. Он возвращает выходное значение после вычисления или выполнения выражения.

 

Пример 2: реализация нескольких лямбда-функций

Реализуем лямбда-функции с другим номером аргумента.

# программа для реализации множества лямбда-функций



# лямбда-функция для вычитания числа

a = lambda a,b,c: a-b-c



# передача аргументов и печать значения разности



print ( "Значение вычитания:" , a (200,10,2) )



# лямбда-функция для умножения двух чисел



b = lambda a,b:a*b



# передача аргументов и печать значения разности



print("Значение умножения:" , b( 10 , 5 ) )



# лямбда-функция для вычисления значения квадрата



c = lambda a:a*a



# передача аргументов и печать значения разности



print("Значение квадрата:" , c(10 ) )



#a lambda функция для вычисления значения куба



c = lambda a:a*a*a



# передача аргументов и печать значения разности



print("Значение куба:" , c(10 ) )



# лямбда-функция для определения четного числа



c = lambda a:(a%2==0)



# передача аргументов и печать значения разницы



print("Данное число четное:" , c(1001 ) )



# лямбда-функция для определения високосного года



c = lambda a:(a%4==0)



# передача аргументов и печать значения разницы



print("Данный год високосный:" , c(2020 ) )

 

Лямбда-функция также возвращает логическую функцию, когда мы используем условие в выражении.

 

Использование лямбда-функции внутри нормальной функции

Лямбда-функция может быть реализована внутри обычной или обычной функции Python. Функция sum_val принимает число в качестве аргумента и возвращает лямбда-функцию. Он хранится в переменной с именем value. Второй аргумент передается лямбда-функции, и она возвращает значение суммы.

#a программы для реализации функции лямбды внутри нормальной функции



#объявление нормальной функции

def sum_val(num1):

#объявление функции лямбды внутри функции

return lambda num2: num1+num2

value = sum_val(10)

print("Значение суммы равно: ",value(200))

 

Вывод

Аноним в Python называется лямбда-функцией. Анонимная функция создается, когда нам нужно использовать объект функции. В этой статье на примерах объясняется лямбда-функция.



2020-11-28T14:05:03
Python

Как преобразовать целое число в строку в Python

Python имеет несколько встроенных типов данных. Иногда при написании кода Python вам может потребоваться преобразовать один тип данных в другой. Например, объедините строку и целое число, сначала вам нужно преобразовать целое число в строку.

В этой статье объясняется, как преобразовать целое число Python в строку.

 

Функция str() в Python

В Python мы можем преобразовывать целые числа и другие типы данных в строки с помощью встроенной функции str().

Функция str() возвращает строковую версию данного объекта. Он принимает следующие формы:

class str(object='')

class str(object=b'', encoding='utf-8', errors='strict')

  • object — Объект, который нужно преобразовать в строку.

Функция принимает три аргумента, но обычно при преобразовании целого числа в строку вы передаете функции только один аргумент (object).

 

Преобразование целого числа Python в строку

Чтобы преобразовать целое число 23 в строковую версию, просто передайте это число в функцию str():

str(23)

type(days)

'23'

<class 'str'>

 

Кавычки около 23 указывают на то, что число не является целым числом, а является объектом строкового типа. Также функция type() показывает, что объект является строкой.

В Python строки объявляются с использованием одинарных (‘), двойных («) или тройных кавычек («»»).

 

Объединение строк и целых чисел

Попробуем объединить строки и целые числа с помощью оператора + и распечатать результат:

number = 6

lang = "Python"

quote = "Есть " + number + " операторов в " + lang + "."

print(quote)

 

Python выдаст ошибку исключения TypeError, потому что он не может объединить строки и целые числа:

Traceback (most recent call last):

  File "<stdin>", line 1, in <module>

TypeError: can only concatenate str (not "int") to str

 

Чтобы преобразовать целое число в строку, передайте целое число в функцию str():

number = 6

lang = "Python"

quote = "Есть " + str(number) + " операторов в " + lang + "."

print(quote)

Теперь, когда вы запустите код, он будет успешно выполнен:

Есть 6 операторов в Python.

 

Есть и другие способы объединения строк и чисел.

Встроенный строковый класс предоставляет метод format(), который форматирует заданную строку, используя произвольный набор позиционных и ключевых аргументов:

number = 6

lang = "Python"

quote = "Есть {} операторов в {}.".format(number, lang)

print(quote)

Есть 6 операторов в Python.

 

В Python 3.6 и новее вы можете использовать f-строки, которые представляют собой буквальные строки с префиксом ‘f’, содержащие выражения в фигурных скобках:

number = 6

lang = "Python"

quote = f"Есть {number} операторов в {lang}."

print(quote)

Есть 6 операторов в Python.

 

Наконец, вы можете использовать старое% -форматирование:

number = 6

lang = "Python"

quote = "Есть %s операторов в %s." % (number, lang)

print(quote)

Есть 6 операторов в Python.

 

Вывод

В Python вы можете преобразовать целое число в строку с помощью функции str().

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.



2020-11-26T12:30:20
Python

Python. Класс словаря defaultdict

Python предлагает множество встроенных структур данных, таких как списки, кортежи и словари, для эффективного сохранения данных и управления ими. Словари позволяют легко сохранять данные в виде пар «ключ-значение». Ключ действует как индекс и используется для извлечения данных. Ключи должны быть уникальными и неизменными во всем словаре. Ключи в основном представляют собой строки и целые числа, хотя значение ключа может быть любого типа, например целое число, строка, число с плавающей запятой или комплексное число. Между тем, словарь может содержать коллекцию, такую ​​как список, кортеж или какой-либо другой тип словаря. Словарь в Python создается с помощью пары фигурных скобок, в которых каждая пара «ключ-значение» разделяется запятой.

Что, если вы попытаетесь получить доступ или изменить определенный ключ в несуществующем словаре? Что ж, в этом случае интерпретатор Python вызовет ошибку «KeyError» и прекратит выполнение программы.

Давайте посмотрим на пример ошибки KeyError.

#Создание списка

my_dict= {1:"Hello",2:"Welcome",3:"AndreyEx"}

#доступ к несуществующему ключу

my_dict[4]

 

Для обработки этой ошибки Python предоставляет тип defaultdict, класс словаря, который можно найти в модуле коллекций. В этой статье подробно рассматривается Python defaultdict.

 

Объяснение и примеры defaultdict

Defaultdict — это альтернатива словарю Python. Он возвращает объекты типа словаря. Defaultdict — это подкласс dict. В случае отсутствия ключа вместо того, чтобы вызывать ошибку «KeyError», значение по умолчанию предоставляется для несуществующего ключа. Синтаксис defaultdict следующий:

defaultdict(default_factory)

Функция defaultdict принимает в качестве аргумента параметр default_factory. Функция default_factory возвращает значение по умолчанию для определенного defaultdict. Если мы попытаемся получить доступ или изменить отсутствующий ключ, то функция default_factory в качестве результата вернет значение по умолчанию. Если функция default_factory отсутствует, defaultdic вызовет ошибку «KeyError», если будут отсутствовать какие-либо ключи.

Во-первых, мы реализуем defaultdic в нашем скрипте Python для доступа как к существующим, так и к отсутствующим ключам.

# импортировать defaultdict из модуля коллекции

from collections import defaultdict

# определение функции, возвращающей значение по умолчанию

def my_func():

print("Ключ не определен")

# создание defualtdict 

# передача my_func() в качестве аргумента для defaultdict

my_dict=defaultdict(my_func)

# определение ключей и значений

my_dict[1]="Привет"

my_dict[2]="Добро пожаловать"

my_dict[3]="AndreyEx" 

#доступ к значениям с помощью ключей

print(my_dict [1])

print(my_dict [2])

print(my_dict [3]) 

# доступ к отсутствующему или не определенному ключу

my_dict [4]

 

[4] — это недостающий ключ. Таким образом, вместо того, чтобы вызвать ошибку «KeyError», он вызывает функцию default_factory, которая возвращает значение по умолчанию.

Лямбда-функция, известная как анонимная функция, также может использоваться в качестве параметра default_factory.

Затем мы реализуем лямбда-функцию и передадим ее в качестве аргумента defaultdict.

# импортировать defaultdict из модуля коллекции

from collections import defaultdict

# создать defualtdict

# передать функцию Lamnda в качестве аргумента defaultdict

my_dict=defaultdict(lambda:"Ключ не определен")

# определение ключей и значений

my_dict[1]="Привет"

my_dict[2]="Добро пожаловать"

my_dict[3]="AndreyEx" 

#доступ к значениям с помощью ключей

print(my_dict[1])

print(my_dict [2])

print(my_dict [3]) 

#доступ к отсутствующему или не определенному ключу

print(my_dict [4])

 

Defaultdict вызывает default_factory для предоставления значения по умолчанию, но функция __missing () __ предоставляет значение по умолчанию. Функция __missing () __ — это встроенная функция в Python, которая принимает в качестве аргумента параметр default_factory. Если параметр default_factory не определен, функция __missing () __ вызывает ошибку «KeyError».

Здесь мы будем использовать функцию __missing () __ в нашем скрипте Python.

# импортировать defaultdict из модуля коллекции

from collections import defaultdict

# определение функции для возврата значения по умолчанию

def my_func() :

print("Ключ не определен")

# создание defualtdict 

#передача my_func() в качестве аргумента для defaultdict

my_dict=defaultdict(my_func)

# определение ключей и значений

my_dict[1]="AndreyEx" 

# доступ к значениям с помощью ключей

print(my_dict [1]) 

# доступ к отсутствующему или не определенному ключу

my_dict.__missing__(2)

 

Классы list и int также могут использоваться как параметры default_factory с defaultdict.

 

Список как параметр default_factory

Defaultdict создается со значениями списка, когда классу списка передается параметр default_factory.

# импортировать defaultdict из модуля коллекции

from collections import defaultdict

# определение класса списка передачи defaultdict

# как default_factory

my_dict=defaultdict(list)

for i in range(7):

my_dict[i].append(i)

#печать значений

print(my_dict)

 

На выходе отображаются значения в списке. Как видите, был создан defaultdict, содержащий ключ и значения.

 

Целые числа как параметр default_factory

Если мы передадим класс int в качестве параметра default_factory, мы сможем создать defaultdict, который будет содержать только целые числа. Мы создадим список целых чисел и сохраним его в defaultdict.

# импортировать defaultdict из модуля коллекции

from collections import defaultdict

# определение defaultdict

# передача класса int как default_factory

my_dict=defaultdict(int)

# создание списка целых чисел

my_list=[1,2,3]

for i in my_list:

my_dict[i]+=1

#печать значений

print(my_dict)

 

В данном выводе целые значения перед двоеточием (:) являются ключами, а целые значения после двоеточия — значениями.

 

Вывод

Dafualtdict — это подобный словарю класс, присутствующий в модуле коллекций. Он работает как словарь Python, но не вызывает ошибку «KeyError», если ключ не найден. Эта статья подробно объясняет defaultdict с различными примерами.



2020-11-25T12:42:58
Python