420К

реклама
В. М. Гуровиц, gurovic@gmail.com
Списки похожи на строки

Список (list)
Строка(string)
Явное задание
[1, 2, 5, 27, -3]
"My string"
Присваивание
s = [1, 2, 5, 27, -3]
s = "My string"
Вывод
print(s, [7, 6, 5])
[1, 2, 5, 27, -3] [7, 6, 5]
print(s, 'aaa')
My string aaa
Обращение по индексу
print(s[0], s[-1])
1 –3
print(s[0], s[-1])
Mg
Срезы
print(s[1:3])
[2, 5]
print(s[3::-2])
[27, 2]
print(s[1:4])
ys
print(s[3::-2])
sy
Длина
print(len(s))
5
print(len(s))
9
Списки похожи на строки

Список (list)
Пустой список/строка s = []
Строка(string)
s = ""
Сложение
s = [1, 2] + [5, 7, 8]
[1, 2, 5, 7, 8]
s = s + [5]
[1, 2, 5, 7, 8, 5]
s = 'aaa' + "bbb"
aaabbb
s = s + 'c'
aaabbbc
Умножение на число
s = [0] * 5
[0, 0, 0, 0, 0]
s = [1, 2] * 3
[1, 2, 1, 2, 1, 2]
s = 'a' * 5
'aaaaa'
s = 'ab' * 3
'ababab'
Метод count
s.count(1)
3
s.count('a')
3
Сравнение
[1] < [1, 2] < [2] < [2, 3]
'a'< 'ab' < 'b' < 'bc' < 'bz'
in
if 5 in s:
if 'a' in s:
Списки НЕ похожи на строки

Список (list)
Ввод
Строка(string)
s = list(map(int, input().split())) s = input()
#Вводим: 1 -3 27 4 0
#Вводим: abcde
Типы элементов [25, 'abcd', 'xxx', -7.5, [3, 2]]
Поиск
---
s.find('a')
возвращает номер
позиции или -1
s.index(-7)
возвращает номер позиции
или ОШИБКУ
s.index('a')
ищет только один элемент!
(то же про count, in)
s.index('abc')
ищет один или
несколько символов
возвращает номер
позиции или ОШИБКУ
Изменение строк и списков

 Строки – неизменяемые (immutable) объекты
replace создает новую строку
можно присвоить переменной другую строку
s = 'abc'
s = s + 'd'
s = 'xyz'
s = s.replace('x','t')
Изменение строк и списков

 Списки – изменяемые (mutable) объекты
Действие
Примеры
Изменение одного элемента
s[2] = 5
Изменение фрагмента:
s[1:3] = [2, 5]
Изменение длины:
s[1:5] = [2, 7]
Удаление одного символа:
s[2:3] = [ ]
Удаление нескольких символов:
s[3:6] = [ ]
Вставка перед i-м символом:
s[i:i] = [5]
Замена по срезу с шагом != 1:
s[0:3:2] = [0, 0]
Количество элементов должно
совпадать!
s[-1] = -10
s[4:4] = [5, 6, 7]
Списки: методы

Метод
Описание
s.count(x)
количество элементов, равных x
s.index(x, a, b)
s.index(x, a)
s.index(x)
номер первого символа, равного x, на
промежутке [a:b] (или ошибка, если
таких нет)
s.reverse()
переставляет элементы в обратном
порядке
s.sort()
переставляет элементы по
возрастанию (должны быть одного
типа)
s.sort(reverse=True)
переставляет элементы по убыванию
s.append(x)
то же, что s += [x]
Списки: функции

Функция
Описание
max(s)
min(s)
Находит наибольший/наименьший
элемент списка и возвращает его
значение
sum(s)
Возвращает сумму элементов списка
len(s)
Возвращает длину списка
sorted(s)
Возвращает отсортированный список
reversed(s)
Возвращает перевернутый список
Строка → Список

Строка → Список символов
list("My string")
['M', 'y', ' ', 's', 't', 'r', 'i', 'n', 'g']
Строка → Список слов (по одному или нескольким пробелам)
"See: very-very long string".split()
['See:', 'very-very', 'long', 'string']
Строка чисел (через пробел) → Список чисел
list(map(int, "10 20 30 40".split()))
[10, 20, 30, 40]
Список → Строка

"".join(["a","b","c"])
abc
" ".join(["a","b","c"])
a b c
", ".join(["a","bb","cccc"])
a, bb, cccc
"...".join(["aa","bb","cc"])
aa...bb...cc
" ".join(map(str, [1, 2, 3])
123
Примеры

 print(sum(list(map(int,input().split()))))
 a = list(map(int,input().split()))
 print(max(a), min(a), sum(a)/len(a))






a = list(input().split())
a.sort()
print(a)
a = list(map(int, a))
a.sort()
print(a)
Примеры

 a = list(map(int,input().split()))
 if 1 in a:

print(a.index(1))
 else:

print('Not found')
 a = list(map(int,input().split()))
 print(a.index(1))
2 3 4
builtins.ValueError: list.index(x): x not in list
Примеры

 a = list(map(int,input().split()))
 a[1::2]=[0]*(len(a)//2)
 print(a)
 a = list(map(int,input().split()))
 a[::2] = a[1::2]
 print(a)
1 2 3 4 5 6
[2, 2, 4, 4, 6, 6]
1 2 3 4 5
builtins.ValueError: attempt to assign sequence of size 2 to
extended slice of size 3
Примеры

 a = list(input().split())
 a.sort()
 print(" ".join(a))
 a = list(map(int, input().split()))
 a.sort()
 a = list(map(str, a))
 print(" ".join(a))
Скачать