for
¶Создадим список значений возраста респондентов, список age
:
age = [23, 25, 32, 48, 19] # возраст
age
name = ["Анна", "Виктор", "Дмитрий", "Алёна", "Павел"] # имена
mix = [23, 25, "нет ответа", 32, "нет ответа"] # все вместе
type(mix)
len(age) # пять элементов
empty = []
len(empty)
print(age[0]) # первый элемент age
print(age[1])
print(age[7])
print(age[-1]) # последний элемент - он же первый с конца
age[-2]
age[0] = 32 # заменили первый элемент на 32
age
nums = [1, 5, 8, 9]
nums.append(10) # добавили 10
nums
nums.extend([12, 13]) # добавили 12 и 13
nums
L = []
L.append(6)
L.append(8)
L
nums.extend(6) # случай 1: один элемент не добавится
[1, 2, 3] + [9, 10]
print(age)
age[1:3] # левый конец включается, а правый нет
print(age[1:])
print(age[3:])
print(age[:2])
age[:] # опускаем все индексы
age[2:2] # пустой срез
На данный момент мы достаточно хорошо познакомились со списками. Но списки не так просты, как кажется. Давайте попробуем сделать следующее: скопировать один список в другой путем присваивания.
L1 = [1, 8, 9, 4]
L2 = L1 # сохранили список L1 в L2
print(L1)
print(L2)
L2[3] = 5
print(L2)
print(L1)
# дубль два
L1 = [1, 8, 9, 4]
L2 = L1.copy()
# теперь делаем что угодно
L2[3] = 100
print(L1)
print(L2) # все нормально
for
¶Раз есть списки, хочется научиться пробегаться по их элементам. Например, выводить на экран не весь список age
сразу, а постепенно, каждый элемент с новой строчки. Для этого есть циклы. Рассмотрим цикл for
.
for i in age:
print(i)
list1 = [1, 3, 5, 9]
list2 = [] # новый список
for l in list1:
list2.append(l * 2) # добавляем в него значения из list1, умноженные на 2
print(list2)
# создадим список с номерами дней
days = [2, 3, 4, 5, 6, 7, 8, 9, 10]
# начальное значение времени, которое питон проводит на солнце
time = 1
print(1, time)
# теперь будем изменять значение time в цикле
# и выводить на экран номер дня и время
for d in days:
time = time + 3
print(d, time)
range()
¶# пример
for j in range(0, 6):
print(j)
time = 1
print(1, time)
for d in range(2, 11):
time = time + 3
print(d, time)
range(0, 3) # не поспоришь, но бесполезно
list(range(0, 3)) # значения внутри range
list(range(5))