Функции, методы а также некоторые приемы работы со списками в Python


Рассмотрим список
a = ['red','blue','yellow','green','black','white']

a[0] – взять первое значение списка (‘red’)
a[1] – взять второе значение списка (‘blue’)
a[-1] – взять последнее значение (‘white’)
a[-2] — взять предпоследнее значение (‘black’)
a.pop(0) – удалить первый элемент списка
a.pop() – удалить последний элемент списка
a.pop(3) – удалить элемент с номером 3 (‘green’)s
a = a[2:] — взять часть списка, от ‘yellow’ и до конца
a = a[:2] – взять часть списка, от начала и до ‘blue’ включительно
a = a[2:5] – взять часть списка ‘yellow’,’green’,’black’
a = a[1:] – удалить первый
a = a[:-1] – удалить последний
a = a[:-3] – удалить последние три
a = a[::-1] – перевернуть список
a.reverse() – перевернуть список
a = a[::] — без изменений: копия списка
a = a[::2] — взять часть списка: элементы, стоящие на четных местах (0 тоже входит)
a = a[1::2] — взять часть списка: элементы, стоящие на нечетных местах
len(a) – получить длину списка (количество всех элементов)
sum(a) – получить сумму элементов списка (только для списков, содержащих числа)
if 'brown' in a: — проверить, входит ли элемент в список
a.index[0] – возвращает номер элемента, равного нулю. Если такого нет, то возникает ошибка
a.count(0) – возвращает количество элементов, равных нулю
a = a.sort() – возвращает сортированный список
a = a.sort(reverse=1) – возвращает сортированный список по убыванию

a = [0 for x in range(12)] – создать список из 12-ти элементов, равных нулю
a = [0]*12 – тоже, что и выше
a = [x for x in range(12)] – создать список, содержащий 12 элементов: 1,2,3, … 11
a = [x for x in range(12) if x % 2 == 0] – создать список из четных значений от 0 до 11
a = [x for x in a if x % 2 == 0] – оставить в списке только четные элементы
a = [x for x in a if x != 0] – удалить все нули
a = [abs(x) for x in a] – все значения списка сделать положительными


Перебор по значениям.

for x in a:
   print (x)

Вывести все значения списка.

Перебор по номерам.

for i in range(len(a)):
   a[i] += 10
   print (a[i])

Увеличить значения списка и вывести на экран (в консоль)

Обратите внимание! Если элементы списка «простого типа» (строка или число), то их можно изменить только перебирая по значениям. Если же элементы списка — другие списки или объекты, то изменять можно в обоих случаях. Рассмотрим подробнее:

a = [1,2,3,4] 
for x in a:
    x += 10
    print(x)

На экране будут числа 11, 12, 13, 14, однако сам список не изменится.

a = [1,2,3,4] 
for x in range(len(a)):
    a[x] += 10
    print(a[x])

В этом случае изменения сохранятся.

Однако:

class ball():
    x = 10
    y = 20
    r = 10

a = [ball() for x in range(12)]
for ball in a:
    ball.r += 10

В этом случае изменения будут сохранены в списке и нет необходимости в переборе по номерам.

print(a)

Вывести все значения списка

print( ' '.join(map(str,a))) 

Вывести все значения списка как одну строку, без запятых

a = [10/3,10/6,20/6,20/3,1/3]
for x in a:
    print('%6.1f' % x, end = '')
print()

print (a)

Красиво вывести список, состоящий из дробных значений. Последняя строка дана для сравнения.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *