Рубрики
Без рубрики

Советы для короткого кода Python Part-1

1- Применение элемента в список: k + = [1] #same as k.append (1) Введите полноэкранный режим … с меткой Python.

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”