Рубрики
Без рубрики

Учебник программирования Python [+ чит-листы]

(Время чтения: 19 минут) Цель этой статьи – помочь вам обновить ваши знания всех основных ключевых слов Python, структурах данных и основах. Я написал его для промежуточного программиста Python, который хочет достичь следующего уровня экспертизы по программированию. Способ достижения уровня эксперта проходит посредством изучения оснований. … Учебное пособие на программирование Python [+ чит-листы] Подробнее »

Автор оригинала: Chris.

(Чтение времени: 19 минут)

Цель этой статьи – помочь вам освежить свои знания всех основных ключевых слов Python, структурах данных и основах. Я написал его для промежуточного программиста Python, который хочет достичь следующего уровня экспертизы по программированию.

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

Эта статья предоставляет вам самые важные основы Python, которые служат фундаментом для более продвинутых тем.

Оглавление

  1. Ключевые слова Python
  2. Python Основные структуры данных
  3. Структуры данных контейнера Python
  4. Участник оператора
  5. Список и установка понимания
  6. Резюме

Загрузите свои 5x Python Cheat Steets, распечатайте их и бурите их в свою офисную стену!

Нажмите на изображение, чтобы зарегистрироваться и загрузить все читы Python Cheat.

Ключевые слова Python

Как и любой другой язык программирования, Python имеет много Ключевые слова с особым смыслом. Например, Python 3.7 Поставляется с 33 специальными ключевыми словами:

'''
False
class
finally 
is 
return
None
continue
for
lambda
try
True
def
from 	
nonlocal 	
while
and 	
del 	
global 	
not 	
with
as 	
elif 	
if 	
or 	
yield
assert 	
else 	
import 	
pass 	 
break 	
except 	
in 	
raise
'''

Упражнение: быстро взглянуть в список ключевых слов и попытаться объяснить их значение.

В следующем вы изучите самые важные ключевые слова Python с короткими примерами.

Ключевые слова: ложь, правда

Эти ключевые слова представляют собой только два значения данных из логического типа данных. В Python, Boolean и Integer Types тесно связаны: логический тип данных Внутренне использует целочисленные значения (по умолчанию, логическое значение false представлено integer 0, и логическое значение true представлено целым числом 1). Следующий фрагмент кода дает вам пример этих двух логических ключевых слов.

x = 1 > 2
print(x)
# False

y = 2 > 1
print(y)
# True

После оценки заданных выражений название переменной X относится к логичному значению ложной и переменной Y относится к логическому ценному значение True.

Ключевые слова: и, или, не

Эти ключевые слова представляют основные логические операторы.

  • Ключевое слово и : Выражение x и y оценивает true, если значение x true и значение y верно. Если один из них ложно, общее выражение становится ложным тоже.
  • Ключевое слово или : Выражение x или y оценивает true, если значение x true или значение y верно (или оба значения верны). Если один из них правда, общее выражение становится правдой тоже.
  • Ключевое слово не : Выражение, а не X оценивает true, если значение x неверно.

Рассмотрим следующий пример кода Python:

x, y = True, False

print((x or y) == True)
# True

print((x and y) == False)
# True

print((not y) == True)
# True 

Используя эти три операции – и, или, а не – вы можете выразить все логические выражения, которые вам когда-либо понадобятся.

Ключевые слова: если, еще, ELIF

Алгоритмы часто сравниваются с рецептами приготовления. Представьте себе рецепт приготовления, который состоит только из последовательного списка команд: заполните воду в горшок, добавьте соль, добавьте рис, избавьтесь от воды и подайте рис. Строго говоря, без Условное исполнение , последовательность команд займет всего несколько секунд, и рис не будет наверняка. Например, вы будете заполнять воду, соль и рис и сразу же избавиться от воды, не дожидаясь, что вода будет горячей, и рис будет мягким.

Нам нужно реагировать по-другому к разным обстоятельствам: нам нужно снять воду из бака только Если Рис мягкий, и нам нужно положить в рис Если вода горячая. Почти невозможно написать программы таким образом, чтобы предвидеть, что происходит в реальном мире детерминированным образом. Вместо этого нам нужно написать программы, которые реагируют по-разному, если выполнены разные условия. Это именно поэтому нам нужно условное исполнение с ключевыми словами Если , еще и Элиф Отказ

x = int(input("your value: "))
if x > 3:
    print("Big")
elif x == 3:
    print("Medium")
else:
    print("Small")

Сначала фрагмент кода сначала принимает пользовательский ввод, преобразует его в целое число и сохраняет его в переменной X. Затем это тестирует значение переменной, если оно больше, чем равно, или меньше, чем значение 3. Другими словами, код реагирует на реальный вход, который непредсказуется дифференцированным образом.

Ключевые слова: для, в то время как

Компьютеры чрезвычайно быстры – они выполняют миллиарды инструкций в секунду. Теперь представьте мир без способа выполнения одного и того же фрагмента кода несколько раз (с модифицированным входом). Программа, которая проходит только в течение дня, должна состоять из триллионов строк кода (в противном случае она быстро закончится выполнена для выполнения кода). И код будет выглядеть как беспорядок, потому что это было бы очень избыточным и нечитаемым.

Чтобы разрешить повторное выполнение аналогичных фрагментов кода, Python (например, любой другой основной язык программирования) позволяет двум типам циклов: для петлей и Пока петли Отказ Таким образом, вы можете легко написать программу, состоящую только из двух строк кода, которые выполняются навсегда. Трудно сделать это без петель – единственная альтернатива – рекурсия.

# For loop declaration
for i in [0, 1, 2]:
   print(i)

'''
0
1
2
'''

# While loop - same semantics
j = 0
while j < 3:
   print(j)
   j = j + 1

'''
0
1
2
'''

Оба варианта петлей достигают то же самое: они печатают целые числа 0, 1 и 2 к оболочке. Курсы выполняют это двумя разными способами. КОНТЕРАЛЬНАЯ КОНТРАКТИРОВАНИЯ несколько раз выполняет корпус петли путем объявления переменной петли I, что итеративно принимает все значения в списке [0, 1, 2]. В то время как цикл выполняет тело петли до тех пор, пока определенное условие выполняется – в нашем случае J <3.

Ключевое слово: перерыв

Существует два фундаментальных способа завершения цикла: (i) Определите условие цикла, которое оценивает значение false, или (ii), используйте слоевание ключевых слов в точном положении в корпусе цикла. Следующий фрагмент кода показывает пример последнего.

while True:
   break # no infinite loop

print("hello world")
# hello world

Мы создаем время цикла с условием цикла, который всегда будет оценивать на себя. Например, это обычная практика при разработке веб-серверов, которые повторяются навсегда следующую процедуру: дождитесь нового веб-запроса и обслуживаем запрос. Однако в некоторых случаях вы все еще хотите расторгнуть петлю преждевременно. В примере WebServer вы прекратите обслуживание файлов по соображениям безопасности, когда ваш сервер обнаруживает, что он находится под атакой. В этих случаях вы можете использовать перерыв ключевых слов, чтобы немедленно остановить петлю и выполнить код, следующий. В примере код выполняется Печать (Hello World ») После того, как петля заканчивается преждевременно.

Ключевое слово: продолжаться

Заявление о разрыве не является единственным утверждением, которое позволяет изменять поток выполнения петлей Python. Также можно заставить переводчик Python пропустить определенные области в петле, в то время как не Заканчивая это преждевременно. В приведенном ранее рассматриваемом примере веб-сервера вы можете просто захотеть пропустить вредоносные веб-запросы, а не полностью остановить сервер. Это может быть достигнуто с использованием оператора продолжения, которое завершает текущую итерацию петли и приносит потоку выполнения обратно в состояние цикла.

while True:
  continue
  print("43") # dead code 

Код выполняется навсегда без выполнения Печать Выявление один раз. Причина в том, что Продолжить Заявление завершает текущую петлю итерацию. Эффект использования Продолжить Заявление таким образом, что существует мертвый Код Это никогда не будет казнено. Вот почему Продолжить Заявление (а также Break заявление) обычно используется в определенном состоянии с использованием условного Если-ж среда.

Ключевое слово: In

Это ключевое слово проверяет, существует ли определенный элемент в заданной последовательности или типе контейнера.

print(42 in [2, 39, 42]) 
# True

print("21" in {"2", "39", "42"}) 
# False

Код SNI PPET показывает, что ключевое слово введено в тестовое членство в целочисленном значении 42 в списке целочисленных значений или V Test Clurant в строковом значении «21» в наборе строк.

Ключевое слово: это

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

y = x = 3

print(x is y)
# True

print([3] is [3])
# False

Если вы создаете два списка, даже если они содержат те же элементы – они все еще относятся к двум разным объектам списка в памяти. Изменение одного объекта списка не влияет на другой объект списка. Мы говорим, что списки изменяются, потому что они могут быть изменены после создания. Следовательно, если вы проверяете, относится ли один список к тому же объекту в памяти, результат является ложным. Тем не менее, целочисленные значения неизменяются, поэтому нет риска одной переменной смены объекта, который затем случайно меняет все другие переменные. Причина в том, что вы не можете изменить целочисленное объект 3, пытаясь создать только новый целочисленный объект и оставить старый немодифицированный.

Ключевое слово: возврат

Возвращение ключевых слов завершает выполнение функции и передает поток выполнения к абоненту функции. Дополнительное значение после возвращения ключевого слова указывает результат функции.

def appreciate(x, percentage):
   return x + x * percentage / 100


print(appreciate(10000, 5))
# 10500.0

Мы создаем функцию Цените () Это рассчитывает, насколько данная инвестиция ценится при заданном процентном порядке. С этой целью мы используем ключевое слово RETURN, чтобы указать результат функции как сумма исходных инвестиций и номинального возврата в одну единицу времени. Возвращаемое значение функции Цените () имеет тип поплавок.

Ключевое слово: нет

Ключевое слово ничего не является постоянным питоном со значением «отсутствие значения». Другие языки программирования, такие как Java, вместо этого используют значение NULL. Но термин NULL часто путает новичков, предполагая, что он равен целому значению 0. Вместо этого Python использует ключевое слово, не указано, что это другое значение, чем любое числовое значение для нуля, пустой список или пустая строка. Интересный факт состоит в том, что значение не имеет собственного типа данных.

def f():
   x = 2


print(f() is None)
# True

print("" == None)
# False

print(0 == None)
# False

Фрагмент кода показывает несколько примеров значения данных None (а что это не). Если вы не определяете возвращаемое значение для функции, значение возврата по умолчанию – нет. Однако значение none отличается от пустой строки или численного нулевого значения.

Ключевое слово: лямбда

Ключевое слово лямбда используется для определения функций лямбда в Python. Функции лямбда – это анонимные функции, которые не определены в пространстве имен (грубо говоря: у них нет имен). Синтаксис:

лямбда <аргументы>:

Функция лямбда может иметь один или несколько аргументов (разделенные запятыми). После толстой кишки (:) вы определяете выражение возврата, которое может (или не может) использовать определенный аргумент. Это может быть любое выражение или даже другую функцию.

Функции лямбда очень важны в Python. Вы увидите их много в практических кодовых проектах: например, чтобы сделать код более короткими и более лаконичными, или создавать аргументы различных функций Python (например, Map () или Уменьшить () ).

print((lambda x: x + 3)(3))
# 6

Рассмотрим код. Во-первых, мы создаем функцию лямбда, которая принимает значение x и возвращает результат выражения X + 3. Результат это функциональный объект, который можно назвать любой другой функцией. Из-за его семантики мы обозначаем эту функцию как инкремент функция. Во-вторых, при вызове этой инкрементной функции с аргументом результат является целочисленное значение 6.

Python Основные структуры данных

На данный момент вы узнали о ключевых словах Python, которые я считаю, что и голый минимум каждый кодер Python должен знать. Тем не менее, запись кода больше, чем использование ключевых слов правильно. Исходный код работает на данных. Но данные могут быть представлены различными способами – тщательное понимание структур данных является одним из самых фундаментальных навыков, которые вы можете приобрести как программист. Это поможет вам в каждом из ваших будущих усилий – неважно, независимо от того, создаете ли вы проекты по изучению машин, работаете на больших кодовых базах, создают и управлять веб-сайтами или писать алгоритмы. Структуры данных являются фундаментальными для тех областей.

Логический тип данных

Переменная типа логика может принимать только два значения – либо правда или ложь. Вы уже изучали как ключевые слова выше.

## 1. Boolean Operations
x, y = True, False

print(x and not y)
# True

print(not x and y or x)
# True

## 2. If condition evaluates to False
if None or 0 or 0.0 or '' or [] or {} or set():
    print("Dead code") # Not reached

Кодовый фрагмент показывает два важных пункта: во-первых, логические операторы заказываются по приоритету – оператор не имеет наивысшего приоритета, за которым следует оператор и, за которым следует оператор или. Во-вторых, следующие значения оцениваются на логическое значение FALSE: ключевое слово Нет, целочисленное значение 0, значение поплавка 0,0, пустые строки или пустые типы контейнеров.

Численные типы данных

Две наиболее важные численные типы данных являются целыми и плавающими. Целое число – это положительное или отрицательное число без Плавающая точка (Например, 3). Поплавок – положительное или отрицательное число с Плавающая точка Точность (например, 3.14159265359). Python предлагает широкий спектр встроенных числовых операций, а также функциональность для преобразования между этими численными типами данных. Внимательно изучите примеры, чтобы освоить эти очень важные численные операции.

## Arithmetic Operations
x, y = 3, 2
print(x + y) # = 5
print(x - y) # = 1
print(x * y) # = 6
print(x / y) # = 1.5
print(x // y) # = 1
print(x % y) # = 1
print(-x) # = -3
print(abs(-x)) # = 3
print(int(3.9)) # = 3
print(float(3)) # = 3.0
print(x ** y) # = 9

Большинство операторов самоснабжены. Обратите внимание, что // Оператор выполняет целочисленное разделение. Результатом является целочисленное значение, которое округлено к меньшим целочисленным номерам (например 3//2 ).

Тип строки данных

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

  • Один кавычки: «Да».
  • Двойные кавычки: «Да».
  • Трехместный цитаты (для многострочной строки): «Да» или «» «Да» »или« ».
  • Строкольный метод: ул. (5) верно.
  • Согласие: «PY ‘+’ Thon ‘становится« питоном ».

Хотя есть и другие способы, это пять наиболее часто используемых.

Часто вы хотите явно использовать пробельные символы в строках. Это самые важные: новый символ «\ N», пространственный символ ‘\ S’ и вкладка символа «\ T».

Следующий фрагмент кода показывает наиболее важные строковые методы.

## Most Important String Methods
y = "    This is lazy\t\n   "

print(y.strip())
# Remove Whitespace: 'This is lazy'

print("DrDre".lower())
# Lowercase: 'drdre'

print("attention".upper())
# Uppercase: 'ATTENTION'

print("smartphone".startswith("smart"))
# True

print("smartphone".endswith("phone"))
# True

print("another".find("other"))
# Match index: 2

print("cheat".replace("ch", "m"))
# meat

print(','.join(["F", "B", "I"]))
# F,B,I

print(len("Rumpelstiltskin"))
# String length: 15

print("ear" in "earth")
# Contains: True

Этот неисключительный список методов строки показывает, что тип String Data очень мощный в Python, и вы можете решить множество общих строковых задач со встроенным функциями Python. Если под сомнением достичь определенного результата в отношении строковых проблем, обратитесь к Онлайн ссылка Перечисление всех встроенных строковых методов.

Структуры данных контейнера Python

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

Список

Список – это тип контейнера данных, который хранит последовательность элементов. В отличие от строк, списки измеряются. Это означает, что вы можете изменить их во время выполнения. Использование типа данных списка лучше всего описывается с серией примеров:

l = [1, 2, 2]
print(len(l))
# 3

Этот фрагмент кода показывает, как создать список и как заполнить его тремя целочисленными элементами. Вы также можете увидеть, что некоторые элементы могут возникнуть несколько раз в одном списке. Функция Len () возвращает количество элементов в списке.

Добавление элементов

Существует три распространенные способы добавления элементов в список: добавьте, вставить или в списке конкатенацию.

# 1. Append
l = [1, 2, 2]
l.append(4)
print(l)
# [1, 2, 2, 4]

# 2. Insert
l = [1, 2, 4]
l.insert(2,2)
print(l)
# [1, 2, 2, 4]

# 3. List Concatenation
print([1, 2, 2] + [4])
# [1, 2, 2, 4]

Все операции генерируют один и тот же список [1, 2, 2, 4], но операция Append является самым быстрым, потому что она не должна тратить список, чтобы вставить элемент в правильном положении (например, вставку), и не создавать новый список двух сублистов (таких как списков Concatenation). Обратите внимание, что четвертый метод продлить () который позволяет вам эффективно добавить несколько элементов в данный список.

Удаление элементов

Удаление элемента X из списка может быть легко достигнуто с помощью способа списка list.remove (x) :

l = [1, 2, 2, 4]
l.remove(1)
print(l)
# [2, 2, 4]

Обратите внимание, что метод работает на самом объекте списка – новый список не создается.

Перевергивающие списки

Вы можете поменять порядок элементов списка, используя метод list.reverse () Отказ

l = [1, 2, 2, 4]
l.reverse()
print(l)
# [4, 2, 2, 1]

Как и метод для удаления элемента из списка, обратный список изменяет объект исходного списка и не просто создает новый объект списка.

Сортировка списков

Вы можете отсортировать элементы списка, используя метод list.sort () Отказ

l = [2, 1, 4, 2]
l.sort()
print(l)
# [1, 2, 2, 4]

Опять же, сортировка списка изменяет объект оригинального списка. Полученный список сортируется восходящим образом. Вы также можете указать клавишу функцию и пропустить ее в качестве клавиши параметра к Сортировать () Способ настроить поведение сортировки. Таким образом, вы также можете сортировать списки пользовательских объектов (например, сортировать список объектов клиентов относительно их возраста). Ключевая функция просто преобразует один элемент списка в элемент, который является сосредоточенным (таким как целое число, поплавок или элемент строки).

Индексационные элементы элементов

Вы можете определить индекс элемента указанного списка х Использование метода list.index (x) Отказ

print([2, 2, 4].index(2))
# 0

print([2, 2, 4].index(2,1))
# 1

Метод Индекс (х) Находит первое вхождение элемента х В списке и возвращает его индекс.

Куча

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

Списки Python могут использоваться интуитивно, как стеки с помощью двух операций списка Добавить () и POP () :

stack = [3]
stack.append(42) # [3, 42]
stack.pop() # 42 (stack: [3])
stack.pop() # 3 (stack: [])

Из-за эффективности реализации списка обычно нет необходимости импортировать внешние библиотеки стека.

Набор

Установленная структура данных является одной из основных типов данных сбора в Python и многих других языках программирования. Есть даже популярные языки для распределенных вычислений, которые сосредоточены почти исключительно на заданных операциях (например, MapReduce или Apache Spark) в качестве примитивов программирования. Так что именно набор?

Определение : Набор является неупорядоченной коллекцией уникальных элементов.

Давайте сломаем это определение на его основные кусочки.

(1) Коллекция : Набор – это коллекция элементов, таких как список или кортеж. Сборник состоит из примитивных элементов (например, целых чисел, поплавков, струн) или сложных элементов (например объекты, кортежи). Тем не менее, все типы данных должны быть нашатаны (хеш-значение объекта никогда не меняется и используется для сравнения объекта к другим объектам). Давайте посмотрим на пример.

hero = "Harry"
guide = "Dumbledore"
enemy = "Lord V."
print(hash(hero))
# 6175908009919104006

print(hash(guide))
# -5197671124693729851

## Can we create a set of strings?
characters = {hero, guide, enemy}
print(characters)
# {'Lord V.', 'Dumbledore', 'Harry'}

## Can we create a set of lists?
team_1 = [hero, guide]
team_2 = [enemy]
teams = {team_1, team_2}
# TypeError: unhashable type: 'list'

Как видите, мы можем создать набор строк, потому что строки одновременно одновременно. Но мы не можем создать набор списков, потому что списки неходятся. Причина в том, что списки измеряются: вы можете изменить список путем добавления или удаления элементов. Если вы измените тип данных списка, изменяется значение HASH (вычисляется на основе содержания списка). Это нарушает вышеуказанное определение (хеш-значение не меняется). В качестве измененных типов данных не усугубляются, вы не можете использовать их в наборах.

(2) Неупорядоченные : В отличие от списков, наборы неупорядочены, потому что нет фиксированного порядка элементов. Другими словами, независимо от порядка, в котором вы накладываете вещи в комплект, вы никогда не можете быть уверены, в каком порядке набор хранит эти элементы. Вот пример:

characters = {hero, guide, enemy}
print(characters)
# {'Lord V.', 'Dumbledore', 'Harry'}

Вы сначала положили героя, но мой переводчик печатает врага сначала (переводчик Python находится на темной стороне, очевидно, что). Обратите внимание, что ваш переводчик может распечатать еще один порядок установленных элементов.

(3) Уникальный : Все элементы в комплекте уникальны. Каждая пара значений ( x, y ) в комплекте создает другую пару хеш-значений ( hash (x)! = Hash (y) ). Следовательно, каждый два элемента х и y В наборе разные – в результате, мы не можем создать армию клонов Гарри Поттера, чтобы бороться с лордом V:

clone_army = {hero, hero, hero, hero, hero, enemy}
print(clone_army)
# {'Lord V.', 'Harry'}

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

Словарь

Словарь является полезной структурой данных для хранения (ключевых, значений) пар.

calories = {'apple' : 52, 'banana' : 89, 'choco' : 546}

Вы можете прочитать и писать элементы, указав ключ в скобках.

print(calories['apple'] < calories['choco'])
# True

calories['cappu'] = 74

print(calories['banana'] < calories['cappu'])
# False

Используйте Клавиши () и Значения () Функции для доступа к всем ключам и значениям словаря.

print('apple' in calories.keys())
# True

print(52 in calories.values())
# True

Доступ к (ключ, значение) Пары словаря с Предметы () метод.

for k, v in calories.items():
    print(k) if v > 500 else None
# 'choco'

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

Членство

Проверьте с ключевым словом в том, содержите ли набор, список или словарь элемент. Обратите внимание, что установленное сдерживание является быстрее, чем лосося сдерживания.

basket = {'apple', 'eggs', 'banana', 'orange'}

print('eggs' in basket)
# True

print('mushroom' in basket)
# False

Список и установка понимания

Понимание списка – популярная функция Python, которая поможет вам создавать списки. Простая формула – [Выражение + контекст] Отказ

Выражение : Что делать с элементом каждого списка?

Контекст : Каков элементы списка выбрать? Контекст состоит из произвольного числа для и, если утверждения.

Например, заявление об понимании списка [X для X в диапазоне (3)] Создает список [0, 1, 2] Отказ Другим примером является следующее:

# (name, $-income)
customers = [("John", 240000),
             ("Alice", 120000),
             ("Ann", 1100000),
             ("Zach", 44000)]

# your high-value customers earning >$1M
whales = [x for x,y in customers if y>1000000]
print(whales)
# ['Ann']

Установленное понимание похоже на понимание списка, но создает набор, а не список.

Резюме

Эта статья дала вам краткий курс Carm Python, чтобы освежить ваше основное образование Python. Вы изучали самые важные Ключевые слова на Python И как использовать их в примерах кода. В результате вы узнали, как управлять потоком выполнения программы, используя Если- Элиф ELSE заявления, а также в то время как и для петли Отказ Более того, вы пересмотрели Основные типы данных в Python- Логическое, целое число, плавание и струна – и какие встроенные операции и функции обычно используются на практике. Большинство фрагментов кода на практике и нетривиальные алгоритмы строится вокруг более мощных Типы контейнеров такие как Списки, стеки, наборы и словари Отказ Изучая данные примеры, вы узнали, как добавить, удалить, вставлять и изменить элементы. Наконец, вы узнали о Участники операторов и Понимание списка : Эффективный и мощный встроенный метод для создания списков программно в Python.

Я написал это 5000 Слово Статья для моей предстоящей книги « Python One-listers » С Сан-Франциско издателем Nostarch. Пока книга не запускается (конец 2019 года), подумайте о покупке моих других книг на повышение уровня своего уровня квалификации!

Работая в качестве исследователя в распределенных системах, доктор Кристиан Майер нашел свою любовь к учению студентов компьютерных наук.

Чтобы помочь студентам достичь более высоких уровней успеха Python, он основал сайт программирования образования Finxter.com Отказ Он автор популярной книги программирования Python One-listers (Nostarch 2020), Coauthor of Кофе-брейк Python Серия самооставленных книг, энтузиаста компьютерных наук, Фрилансера и владелец одного из лучших 10 крупнейших Питон блоги по всему миру.

Его страсти пишут, чтение и кодирование. Но его величайшая страсть состоит в том, чтобы служить стремлению кодер через Finxter и помогать им повысить свои навыки. Вы можете присоединиться к его бесплатной академии электронной почты здесь.