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

Появление списка Python

Понимание списка Python, Python пометки списка, Python, словарь Python, Python Lambda функциональный список подобных данных.

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

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

Появление списка Python

В основном понимание списка Python – это идея, которая не распространена в большинстве языка. Он в основном используется для генерации списка элементов, имеющих некоторое конкретное свойство. Более того, понимание списка Python Code меньше, но эффективен. Давайте рассмотрим следующий код.

word = "Python"
letters = []

for letter in word:
    letters.append(letter)

print(letters)

Вы получите вывод как

['P', 'y', 't', 'h', 'o', 'n']

Но вы можете сократить предыдущий код по пониманию списка Python. Поэтому желаемый код будет

word = "Python"

# shorten the code
letters = [letter for letter in word]
print(letters)

И вы получите тот же выход

['P', 'y', 't', 'h', 'o', 'n']

Основная структура понимания списка Python

Основная структура состоит из трех параметров. На основе этих трех параметров Python создал новый список. Параметры приведены в списке ниже

  • Переменная
  • Выражение для вывода
  • Справочная последовательность
  • Предикат (необязательно)

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

reference = [1, 2, 3, 4, 5, 6]

output = []

for number in reference:
    if number % 2 == 0:
        # the number is even
        prev_num = number-1  # calculate previous number
        output.append(prev_num)  # append to the list

print(output)

Выход следующего кода будет

[1, 3, 5]

Довольно большой код, верно? Но вы используете понимание списка Python, код будет гораздо коротким. И код будет

reference = [1, 2, 3, 4, 5, 6]

output = [(number-1) for number in reference if number % 2 == 0]

print(output)

Как мы говорили ранее, понимание списка Python имеет три параметра. В предыдущем коде мы также использовали все параметры. Смотрите картинку ниже. Для лучшего понимания каждый параметры окрашены по-разному

Итак, это структура для написания понимания списка Python!

Используя для строк

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

  • Если строка представляет, разделить его на слова
  • Сделайте корпус всех слов, таких как: первая буква – столица, а остальная часть письма мало

Следующий код поможет вам понять вещь.

list_string = ['maNgo', 'BanAna', 'PytHoN iS Love', 'Cat iS not doG']

# make the list of string to list of list of words
list_of_list = [sentence.split() for sentence in list_string]
print(list_of_list)

words = sum(list_of_list, [])  # make the list of list to a single list
print(words)  # print the list of word

# modify the case
correct_case = [str.upper(word[0])+str.lower(word[1:]) for word in words if len(word) > 1]

# print the list of word with desired case
print(correct_case)

Итак, вывод кода будет

[['maNgo'], ['BanAna'], ['PytHoN', 'iS', 'Love'], ['Cat', 'iS', 'not', 'doG']]
['maNgo', 'BanAna', 'PytHoN', 'iS', 'Love', 'Cat', 'iS', 'not', 'doG']
['Mango', 'Banana', 'Python', 'Is', 'Love', 'Cat', 'Is', 'Not', 'Dog']

Создание вложенного списка

Тем не менее, вы также можете использовать вложенный список. Это означает, что вы можете использовать понимание списка в другом понимании списка. Например, предыдущий пример код может быть записан более короткий с использованием вложенного списка Python. Как это,

list_string = ['maNgo', 'BanAna', 'PytHoN iS Love', 'Cat iS not doG']

correct_case = [str.upper(word[0])+str.lower(word[1:])
                for word in sum([sentence.split() for sentence in list_string], [])
                if len(word) > 1]

# print the list of word with desired case
print(correct_case)

И выход будет

['Mango', 'Banana', 'Python', 'Is', 'Love', 'Cat', 'Is', 'Not', 'Dog']

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

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

Ссылки: Википедия