ПУТЕВОДИТЕЛЬ ПО СИНТАКСУ И САХАРУ В PYTHON На главную BearWakes
   
# СРЕДНЕЕ АРИФМЕТИЧЕСКОЕ ЭЛЕМЕНТОВ МАССИВА  
   
list1 = [[1, 7, 8], [9, 7, 102], [102, 106, 105], [100, 99, 98, 103], [1, 2, 3]] from statistics import mean
print(sum(map(sum, list1)) / sum(map(len, list1))) list1 = [[1, 7, 8], [9, 7, 102], [102, 106, 105], [100, 99, 98, 103], [1, 2, 3]]
  print(mean(sum(list1, [])))
   
   
list1 = [[1, 7, 8], [9, 7, 102], [102, 106, 105], [100, 99, 98, 103], [1, 2, 3]] list1 = [[1, 7, 8], [9, 7, 102], [102, 106, 105], [100, 99, 98, 103], [1, 2, 3]]
list2 = [j for i in list1 for j in i] list2 = sum(list1, [])         # sum есть 2й арг, если его не указывать - это ноль.
print(sum(list2)/len(list2)) print(sum(list2) / len(list2))
   
   
   
list1 = [[1, 7, 8], [9, 7, 102], [102, 106, 105], [100, 99, 98, 103], [1, 2, 3]] list1 = [[1, 7, 8], [9, 7, 102], [102, 106, 105], [100, 99, 98, 103], [1, 2, 3]]
total = sum([sum(i) for i in list1]) total = map(sum, list1)
counter = sum([len(i) for i in list1]) counter = map(len, list1)
print(total/counter) print(sum(total) / sum(counter))
   
   
list1 = [[1, 7, 8], [9, 7, 102], [102, 106, 105], [100, 99, 98, 103], [1, 2, 3]] list1 = [[1, 7, 8], [9, 7, 102], [102, 106, 105], [100, 99, 98, 103], [1, 2, 3]]
total = 0 total = 0
counter = 0 count = 0
for i in list1: for i in range(len(list1)):
    for j in i:     for j in range(len(list1[i])):
        total += j         total += 1
        counter += 1         count += list1[i][j]
print(total/counter) print(count/total)
   
   
# -----  
# РЕВЕРС ЭЛЕМЕНТОВ СПИСКА #
   
   
list1 = [list(reversed(el)) for el in list1]  
   
   
list1 = [[1, 7, 8], [9, 7, 102], [102, 106, 105], [100, 99, 98, 103], [1, 2, 3]] list1 = [[1, 7, 8], [9, 7, 102], [102, 106, 105], [100, 99, 98, 103], [1, 2, 3]]
for elem in list1: for i in range(len(list1)):
    elem.reverse()     list1[i] = list1[i][::-1]
print(list1) print(list1)
   
   
# -----  
#  ПОИСК НАИБОЛЬШЕГО ЭЛЕМЕНТА ДВУМЕРНОГО МАССИВА (СПИСКА)  
   
list1 = [[1, 7, 8], [9, 7, 102], [102, 106, 105], [100, 99, 98, 103], [1, 2, 3]] list1 = [[1, 7, 8], [9, 7, 102], [6, 106, 105], [100, 99, 98, 103], [1, 2, 3]]
maximum = -1 maximum = -1
for el in list1: for i in range(len(list1)):
    if max(el) > maximum:     for j in range(len(list1[i])):
        maximum = max(el)         if list1[i][j] > maximum:
print(maximum)             maximum = list1[i][j]
  print(maximum)
   
# -----  
# РОСКОМНАДЗОР запретил букву...  
   
word = input() + ' запретил букву' str = ' запретил букву '
alpha = [chr(i) for i in range(1072, 1104)] str1 = input()
  str2 = str1 + str
for letter in alpha: for i in range(1072, 1104):
    if letter in word:     if chr(i) in str2:
        print(word, letter)         str2 += chr(i)
        word = word.replace(letter, '').replace('  ', ' ').strip()         print(str2)
          str2 = str2.replace(chr(i), '').replace('  ', ' ').lstrip()
          i += 1
   
word = input() + ' запретил букву'  
alphabet = 'абвгдежзийклмнопростуфхцчшщъыьэюя'  
for char in alphabet:  
    if char in word:  
        print(word, char)  
        word = word.replace(char, '').strip().replace('  ', ' ')  
   
   
# -----  
# Проверить вхождение слова anton в введенные строки и вывести номера этих строк  
   
import re        # Используя регулярки import re
   
lst = [] num = int(input())
regex = ''.join(f'.*?{i}' for i in 'anton') for i in range(num):
n = int(input())     if re.search(r'.*a.*n.*t.*o.*n', input()):
for i in range(n):         print(i + 1, end=' ')
    if re.search(regex, input()):  
        lst.append(i + 1)  
print(*lst)  
   
   
# -----  
# ПОДСЧЕТ подряд идущих "Р" без функций map и split('О')  
# ВВОД ОРРОРОРООРРРО  
   
str = input()  
countt = 0  
while 'Р' * (countt + 1) in str:  
    countt += 1  
print(countt)  
   
   
# -----  
# РЕШЕНИЕ ЗАДАЧИ ВЗЯТИЕМ ОСТАТКА ОТ ДЕЛЕНИЯ НА 5 (работает на любом количестве)  
   
   
rules = {'камень-камень': 'ничья', 'камень-ножницы': 'Тимур', 'камень-бумага': 'Руслан', def game(name1, name2):
        'камень-ящерица': 'Тимур', 'камень-Спок': 'Руслан', 'ножницы-ножницы': 'ничья',     if name1 in graph[name2]:
        'ножницы-бумага': 'Тимур', 'ножницы-камень': 'Руслан', 'ножницы-ящерица': 'Тимур',         return print('Руслан')
        'ножницы-Спок': 'Руслан', 'бумага-бумага': 'ничья', 'бумага-камень': 'Тимур',     elif name2 in graph[name1]:
        'бумага-ножницы': 'Руслан', 'бумага-ящерица': 'Руслан', 'бумага-Спок': 'Руслан',         return print('Тимур')
        'ящерица-ящерица': 'ничья', 'ящерица-Спок': 'Тимур', 'ящерица-ножницы': 'Руслан',     else:
        'ящерица-бумага': 'Тимур', 'ящерица-камень': 'Руслан', 'Спок-Спок': 'ничья',         return print('ничья')
        'Спок-ножницы': 'Тимур', 'Спок-бумага': 'Руслан', 'Спок-камень': 'Тимур',  
        'Спок-ящерица': 'Руслан' graph={}
         } graph['камень'] = ['ножницы', 'ящерица']
timur = input() graph['ножницы'] = ['бумага', 'ящерица']
ruslan = input() graph['бумага'] = ['камень', 'Спок']
res = timur + '-' + ruslan graph['ящерица'] = ['Спок', 'бумага']
print(rules[res]) graph['Спок'] = ['камень', 'ножницы']
   
  Tim = input()
  Rus = input()
  game(Tim, Rus)
   
   
  l = ['ножницы','бумага','камень','ящерица','Спок']
  t = l.index(input())
  r = l.index(input())
  players=['ничья','Руслан','Тимур','Руслан','Тимур']
  print(players[t-r])
   
   
num = [-1,-3,2,4] game = {'ножницы': 0,
d = t - r         'бумага': 1,
if d == 0:         'камень': 2,
   print('ничья')         'ящерица': 3,
elif d in num:         'Спок': 4
   print('Тимур')         }
else: timur, ruslan = (game[input()] for _ in 'st')
   print('Руслан') print('ничья' if timur == ruslan else 'Тимур' if (ruslan - timur) % 5 % 2 else 'Руслан')
   
# -----  
СПИСКИ, ВЛОЖЕННЫЕ СПИСКИ ИНДЕКСАЦИЯ
   
my_list = ['Python', [10, 20, 30], ['Beegeek', 'Stepik!']] my_list = [[0], [1, 2], [3, 4, 5], [], [10, 20, 30]]
print(my_list[0][2])       # индексирование строки 'Python' print(len(my_list))   # = 5
print(my_list[1][1])       # индексирование списка [10, 20, 30]  
print(my_list[2][-1])      # индексирование списка ['Beegeek', 'Stepik!'] total = 0
print(my_list[2][-1][-1])  # индексирование строки 'Stepik!' my_list = [[0], [1, 2], [3, 4, 5], [], [10, 20, 30]]
  for el in my_list:
      total += len(el)
  print(total)           # = 9
   
   
# Способ 1. Создадим пустой список, потом n раз добавим в него новый элемент # Способ 2. Сначала создадим список из n элементов (для начала просто из n нулей).
n, m = int(input()), int(input())    # считываем значения n и m # Сделаем каждый элемент списка ссылкой на другой список из m элементов, заполненный нулями:
my_list = []                         # n = 3 m = 5 n, m = int(input()), int(input())    # считываем значения n и m
for _ in range(n): my_list = [0] * n
    my_list.append([0] * m) for i in range(n):
print(my_list)            # [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]     my_list[i] = [0] * m
  print(my_list)
   
# Способ 3. List Comprehesion: создадим список из n элементов, # (!)
# каждый из которых будет списком, состоящих из m нулей: n, m = int(input()), int(input())
n, m = int(input()), int(input())      # считываем значения n и m my_list = [[0] * m ] * n         # n = m m = 3
my_list = [[0] * m for _ in range(n)] my_list[0][0] = 17
print(my_list)                         # предпочтительный (!) print(my_list)  # [[17, 0, 0], [17, 0, 0], [17, 0, 0], [17, 0, 0], [17, 0, 0]]