1- Применение элемента в список:
k+=[1] #same as k.append(1)
2- Получите несколько строк из stdin:
k=[input() for i in range(number_of_lines)]
k=[i.strip() for i in open(0)]
3- Создание класса: есть несколько модулей, которые имеют готовые классы Porpused и типы, чтобы наследовать или использовать
class paper: def __init__(self,nl,*lines_): self.numberOf_lines = nl self.lines = lines_
from dataclasses import dataclass @dataclass class paper: lines: list numberOf_lines: int
. . Эти библиотеки помогут вам сделать читаемые классы с меньшими символами и потрясающими функциями (сравнение, читаемый представитель …) 4- Струнные манипуляции:
k = "abcdef-ABCDEF-123456" print(k[1:]) # bcdef-ABCDEF-123456 print(k[:-1]) # abcdef-ABCDEF-12345 print(k[2:-2])# cdef-ABCDEF-1234 print(''.join(filter(str.isupper , k))) # ABCDEF print(''.join(filter(str.islower , k))) # abcdef print(''.join(filter(str.isnumeric , k))) # 123456 print(*map("".join,zip(*k.split("-")))) # aA1 bB2 cC3 dD4 eE5 fF6 print(*[k[:i] for i in range(len(k))]) # all substrings "a ab abc abcd abcde abcdef ..."
5- Кодовые гольфы:
Давайте предположим, что вы должны написать «странно», если вход нечетной и «даже», если не первое, что приходит на ум, это:
n = int(input()) if n%2==1:print("odd") else:print("even")
Этот код длиной 58 символов с небольшим количеством волшебника Python
print("odd"if int(input())%2else"even")
от 58 CHAR до 39, но мы можем сделать больше
print("eovdedn"[int(input())%2::2])
от 58 до 35 часов
x,y = map(int,input().split()) names = input().split() fathers = input().split() mothers = input().split() age,shoe_size = map(int,input().split()) weight,height,arm_length = map(float,input().split())
228 Char Long Отметим, что «вход (). Split ()» повторяется во многих раз решения:
k=lambda:input().split() x,y = map(int,k()) names = k() fathers = k() mothers = k() age,shoe_size = map(int,k()) weight,height,arm_length = map(float,k())
Таким образом, мы сохранили 47 символов, этот пример сделан для объяснения целей, вы можете применить его к любому повторению функции или статустики с достаточно длинными символами. Но то, что я рекомендую в таких случаях, как это необходимо использовать файл stdin (вы можете получить доступ к нему с помощью «Открыть (0)» statuction) и Dicts для хранения ввода
Оригинал: “https://dev.to/ademdj19/tips-for-python-short-code-part-1-2m72”