Создание списков без явного использования циклов и вызова списочного метода append()
Без считывания данных:
my_list = [1, 2, 3, 4]
Со считыванием данных:
my_list = [int(x) for x in input("Введите числа, разделенные пробелами: ").split()]
# Пример ввода: "1 2 3 4", результат: [1, 2, 3, 4]
Без считывания данных:
squares = [x**2 for x in range(5)]
# Результат: [0, 1, 4, 9, 16]
Со считыванием данных:
squares = [int(x)**2 for x in input("Введите числа, разделенные пробелами: ").split()]
# Пример ввода: "1 2 3", результат: [1, 4, 9]
Без считывания данных:
evens = [x for x in range(10) if x % 2 == 0]
# Результат: [0, 2, 4, 6, 8]
Со считыванием данных:
evens = [int(x) for x in input("Введите числа, разделенные пробелами: ").split() if int(x) % 2 == 0]
# Пример ввода: "1 2 3 4 5 6", результат: [2, 4, 6]
Без считывания данных:
lists = [[x + y for y in range(3)] for x in range(3)]
# Результат: [[0, 1, 2], [1, 2, 3], [2, 3, 4]]
Со считыванием данных:
n = int(input("Введите количество строк: "))
m = int(input("Введите количество столбцов: "))
lists = [[i + j for j in range(m)] for i in range(n)]
# Пример ввода: 2 (строки), 3 (столбцы), результат: [[0, 1, 2], [1, 2, 3]]
Без считывания данных:
distinct_lists = [[x, y] for x in range(3) for y in range(3) if x != y]
# Результат: [[0, 1], [0, 2], [1, 0], [1, 2], [2, 0], [2, 1]]
Со считыванием данных:
n = int(input("Введите предел диапазона: "))
distinct_lists = [[x, y] for x in range(n) for y in range(n) if x != y]
# Пример ввода: 3, результат: [[0, 1], [0, 2], [1, 0], [1, 2], [2, 0], [2, 1]]
Без считывания данных:
strings = [str(x) for x in range(5)]
# Результат: ['0', '1', '2', '3', '4']
Со считыванием данных:
strings = [str(int(x)) for x in input("Введите числа, разделенные пробелами: ").split()]
# Пример ввода: "1 2 3", результат: ['1', '2', '3']
Без считывания данных:
flattened = [item for sublist in [[1, 2], [3, 4]] for item in sublist]
# Результат: [1, 2, 3, 4]
Со считыванием данных:
rows = int(input("Введите количество списков: "))
flattened = [int(item) for _ in range(rows) for item in input("Введите числа, разделенные пробелами: ").split()]
# Пример ввода: 2 (списка), затем: "1 2" и "3 4", результат: [1, 2, 3, 4]
Без считывания данных:
lengths = [len(s) for s in ['apple', 'banana', 'cherry']]
# Результат: [5, 6, 6]
Со считыванием данных:
lengths = [len(s) for s in input("Введите строки, разделенные запятыми: ").split(',')]
# Пример ввода: "apple,banana,cherry", результат: [5, 6, 6]
Без считывания данных:
matrix = [[x + y for x in range(3)] for y in range(3)]
# Результат: [[0, 1, 2], [1, 2, 3], [2, 3, 4]]
Со считыванием данных:
n = int(input("Введите количество строк: "))
m = int(input("Введите количество столбцов: "))
matrix = [[input(f"Введите элемент ({i+1},{j+1}): ") for j in range(m)] for i in range(n)]
# Пример ввода:
# 2 (строки)
# 3 (столбцы)
# 1
# 2
# 3
# 4
# 5
# 6
# Результат: [['1', '2', '3'], ['4', '5', '6']]
Без считывания данных:
nested_lists = [[x for x in range(3)] for y in range(3)]
# Результат: [[0, 1, 2], [0, 1, 2], [0, 1, 2]]
Со считыванием данных:
n = int(input("Введите количество строк: "))
nested_lists = [[int(x) for x in input(f"Введите числа строки {i+1}, разделенные пробелами: ").split()] for i in range(n)]
# Пример ввода:
# 2 (строки)
# 1 2 3
# 4 5 6
# Результат: [[1, 2, 3], [4, 5, 6]]