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

Понимание списка в Python

Иногда нам нужен список с последовательными целыми числами, мы можем использовать синтаксис понимания списка для генерации … Теги с Python.

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

a = [ x for x in range(0,100) ]
# a = [0, 1, 2, ... 99]

Если нам нужен список с некоторыми условиями, как даже номера. Мы также можем использовать синтаксис понимания списка для генерации списка даже номера, например:

a = [ x for x in range(0, 100) if x % 2 == 0]
# a = [0, 2, 4, ... 98]

Другим случаем нам нужен список с кортежными корпусами, как координаты с двумя измерениями:

a = [ (x, y) for x in range(1, 6) for y in range(3, 6) ]
# a = [ (1, 3), (1, 4), (1, 5), (2, 3), (2, 4) ... ] 
## total 5 * 3 items 

Но если нам нужны пары значений с индексом с X, y Перемещение одновременно, мы можем использовать Zip:

a = [ x for x in zip(range(1, 6), range(3, 6)) ]
# a = [(1, 3), (2, 4), (3, 5)]
## total 3 items, because the range(3, 6)

Такое же использование со списком понимания, набор и словарь также имеет их понимание.

s = { v for v in 'ABCDE' }
# s = {'D', 'C', 'A', 'B', 'E'}

С некоторым условием:

s = { v for v in 'ABCDE' if v not in 'BC' }
# {'D', 'E', 'A'}
s = {key: val for key, val in enumerate('ABCDEF')}
# s = {0: 'A', 1: 'B', 2: 'C', 3: 'D', 4: 'E', 5: 'F'}

С некоторым условием:

s = {key: val for key, val in enumerate('ABCDEF') if val not in 'CD'}
# s = {0: 'A', 1: 'B', 4: 'E', 5: 'F'}

С некоторым состоянием (более сложным):

s = {key: val for key, val in enumerate('ABCDEF') if (val not in 'CD') & (key != 0)}
# s = {1: 'B', 4: 'E', 5: 'F'}

После этого примера мы можем понять понимание списка для генерации списка и других типов данных.

Это просто, но важно!

Счастливое кодирование!

Ссылка: https://en.wikipedia.org/wiki/List_comprehension

Оригинал: “https://dev.to/timhuang/list-comprehension-in-python-5595”