Python One-Liners vám mohou pomoci provádět složité úkoly pouze s jedním řádkem kódu Pythonu. Zde jsou některé z nejužitečnějších, které byste měli vědět!
Python je známý svou krátkou a jasnou syntaxí. Kvůli jednoduchosti Pythonu je někdy označován jako „spustitelný pseudokód“. Programy v Pythonu můžete udělat stručnějšími pomocí jednořádkových kódů. To vám pomůže ušetřit čas a psát kód více pythonickým způsobem.
V tomto článku se naučíte 11 Pythonových jednoduchých linek, které vám pomohou programovat jako profesionálovi.
1. Převést řetězec na celé číslo
Řetězec můžete převést na celé číslo pomocí vestavěného int() funkce.
str1 = '0'
str2 = '100'
str3 = '587'
tisknout (int (str1))
tisknout (int (str2))
tisknout (int (str3))
Výstup:
0
100
587
2. Obrátit seznam
Seznam v Pythonu můžete obrátit pomocí různých metod:
Použití techniky krájení
Pomocí této techniky se původní seznam neupraví, ale vytvoří se kopie seznamu.
arr = [1, 2, 3, 4, 5, 6]
tisknout (arr)
reversedArr = arr[::-1]
tisknout (obrácenýArr)
Výstup:
[1, 2, 3, 4, 5, 6]
[6, 5, 4, 3, 2, 1]
Použití vestavěné funkce reversed().
The obrácený () funkce vrací iterátor, který přistupuje k danému seznamu v opačném pořadí.
arr = [1, 2, 3, 4, 5, 6]
tisknout (arr)
reversedArr = seznam (obrácený (arr))
tisknout (obrácenýArr)
Výstup:
[1, 2, 3, 4, 5, 6]
[6, 5, 4, 3, 2, 1]
Použití vestavěné metody reverse()
The zvrátit() metoda obrátí prvky původního seznamu.
arr = [1, 2, 3, 4, 5, 6]
tisknout (arr)
arr.reverse()
tisknout (arr)
Výstup:
[1, 2, 3, 4, 5, 6]
[6, 5, 4, 3, 2, 1]
3. Prohoďte dvě proměnné
Můžete zaměnit dvě proměnné pomocí následující syntaxe:
proměnná1, proměnná2 = proměnná2, proměnná1
Pomocí této metody můžete zaměnit proměnné libovolného datového typu.
a = 100
b = 12
print("Hodnota a před výměnou:", a)
print("Hodnota b před výměnou:", b)
a, b = b, a
print("Hodnota a po výměně:", a)
print("Hodnota b po výměně:", b)
Výstup:
Hodnota a před výměnou: 100
Hodnota b před výměnou: 12
Hodnota a po výměně: 12
Hodnota b po výměně: 100
4. FizzBuzz One-Liner v Pythonu
Výzva FizzBuzz je klasická výzva, která se používá jako zařízení pro screening rozhovorů pro počítačové programátory. Výzvu FizzBuzz můžete vyřešit pouze jedním řádkem kódu:
[print("Fizz"*(i%3==0)+"Buzz"*(i%5==0) nebo i) pro i v rozsahu (1, 21)]
Výstup:
1
2
Šumět
4
Bzučet
Šumět
7
8
Šumět
Bzučet
11
Šumět
13
14
FizzBuzz
16
17
Šumět
19
Bzučet
Příbuzný: Jak dokončit FizzBuzz Challenge v 5 programovacích jazycích
5. Generovat náhodné heslo
V Pythonu můžete generovat náhodná hesla pomocí následujícího jednořádkového kódu:
importovat náhodně jako r; p = 'abcdefghijklmnopqrstuvwxyz0123456789%^*(-_=+)'; print(''.join([p[r.randint (0,len (p)-1)] pro i v rozsahu (10)]))
Výstup:
v4+zagukpz
Tento kód vygeneruje heslo o délce 10. Pokud chcete změnit délku hesla, aktualizujte parametr rozsah() funkce. Také pokaždé, když spustíte kód, získáte jiný náhodný výstup.
6. Zobrazte aktuální datum a čas ve formátu řetězce
Aktuální datum a čas v Pythonu můžete zobrazit pomocí čas schůzky modul. Zde je jednořádkový kód pro zobrazení aktuálního data a času ve formátu řetězce:
importovat datum a čas; tisknout (datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"))
Výstup:
2021-11-22 14:35:41
7. Zkontrolujte, zda je řetězec palindrom
Řetězec se nazývá palindrom, pokud původní řetězec a jeho rub jsou stejné. Můžete zkontrolovat, zda je řetězec palindrom nebo ne, pomocí následujícího kódu:
str1 = "MUO"
str2 = "paní"
str3 = "MAKEUSEOF"
str4 = "máma"
print('Ano') if str1 == str1[::-1] else print('Ne')
print('Ano') if str2 == str2[::-1] else print('Ne')
print('Ano') if str3 == str3[::-1] else print('Ne')
print('Ano') if str4 == str4[::-1] else print('Ne')
Výstup:
Ne
Ano
Ne
Ano
Příbuzný: Jak zkontrolovat, zda je řetězec palindrom
8. Najděte faktoriál čísla
Faktoriál nezáporného celého čísla n je součin všech kladných celých čísel menších nebo rovných n. Faktoriál čísla můžete najít v jednom řádku kódu pomocí lambda funkcí.
číslo 1 = 5
číslo 2 = 0
číslo 3 = 10
číslo 4 = 12
faktoriál = číslo lambda: 1, pokud číslo <= 1, jinak číslo*faktor (číslo-1)
print("Factorial of", num1, ":", factorial (num1))
print("Factorial of", num2, ":", factorial (num2))
print("Factorial of", num3, ":", factorial (num3))
print("Factorial of", num4, ":", factorial (num4))
Výstup:
Faktor 5:120
Faktor 0:1
Faktor 10: 3628800
Faktor 12: 479001600
Příbuzný: Příručka pro začátečníky k pochopení funkcí Python Lambda
9. Tisk Fibonacciho sekvence až N termínů
A Fibonacciho sekvence je řada čísel, kde každý člen je součtem dvou předcházejících, počínaje 0 a 1. Sérií Fibonacci si můžete vytisknout až n termíny pomocí lambda funkce.
z functools import snížit; fibSequence = lambda n: snížit (lambda x, _: x+[x[-1]+x[-2]], rozsah (n-2), [0, 1])
tisknout (fibSequence (10))
tisknout (fibSequence (5))
tisknout (fibSequence (6))
Výstup:
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
[0, 1, 1, 2, 3]
[0, 1, 1, 2, 3, 5]
10. Vypočítejte součet seznamu
Můžeš vypočítat součet seznamu za použití součet() funkce v Pythonu.
seznam1 = [1, 2, 3, 4, 5, 6, 7]
seznam2 = [324, 435, 456]
seznam3 = [0, 43, 35, 12, 45]
tisknout (součet (seznam1))
tisknout (součet (seznam2))
tisknout (součet (seznam3))
Výstup:
28
1215
135
11. Seřadit seznam
Seznam můžete třídit pomocí seřadit () metoda. Zde je jednořádkový kód pro totéž:
seznam1 = [12, 345, 123, 34, 23, 37]
seznam2 = ['m', 'a', 'k', 'e', 'u', 's', 'e', 'o', 'f']
seznam3 = [5, 4, 3, 2, 1]
tisk ("Před tříděním:")
tisknout (seznam 1)
tisknout (seznam 2)
tisknout (seznam 3)
seznam1.sort()
seznam2.sort()
seznam3.sort()
tisk ("Po třídění:")
tisknout (seznam 1)
tisknout (seznam 2)
tisknout (seznam 3)
Výstup:
Před řazením:
[12, 345, 123, 34, 23, 37]
['m', 'a', 'k', 'e', 'u', 's', 'e', 'o', 'f']
[5, 4, 3, 2, 1]
Po třídění:
[12, 23, 34, 37, 123, 345]
['a', 'e', 'e', 'f', 'k', 'm', 'o', 's', 'u']
[1, 2, 3, 4, 5]
Pokud se chcete podívat na úplný zdrojový kód použitý v tomto článku, zde je úložiště GitHub.
Napište více Pythonic kódu pomocí vestavěných metod a funkcí
Vestavěné metody a funkce pomáhají zkrátit kód a zvýšit jeho efektivitu. Python poskytuje mnoho vestavěných metod a funkcí, jako je snížit(), split(), enumerate(), eval() a tak dále. Využijte je všechny a napište další kód Pythonic.
Standardní knihovna Pythonu obsahuje mnoho funkcí, které vám pomohou s vašimi programovacími úlohami. Přečtěte si o nejužitečnějších a vytvořte robustnější kód.
Přečtěte si další
- Programování
- Krajta
- Programovací jazyky
Yuvraj je vysokoškolským studentem informatiky na univerzitě v Dillí v Indii. Je nadšený pro Full Stack Web Development. Když nepíše, zkoumá hloubku různých technologií.
Přihlaste se k odběru našeho newsletteru
Připojte se k našemu zpravodaji a získejte technické tipy, recenze, bezplatné e-knihy a exkluzivní nabídky!
Chcete-li se přihlásit k odběru, klikněte sem