Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # -*- coding: cp1250 -*-
- #-----remek lifehackek és easter eggek pythonban-----
- # 1.: a listák generátorai
- sorozat = [i*2 for i in range(10)] # a lista elemei a "for" szócska előtti
- # értéket veszik fel, a range-ben szereplő
- # elemszámmal
- print(sorozat)
- forditott = reversed(sorozat) # megfordítja a lista sorrendjét
- print(forditott)
- """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
- from random import randint
- multi_dim = [[[randint(0, 100) for k in range(5)] for j in range(6)] for i in range(7)]
- # ez egy 3 dimenziós tömb egyszerűen generálva, minden eleme véletlenszerű
- # látod, hogy egy olyan listát veszel 7-szer (i), aminek 6 eleme van (j), és minden eleme egy 5 elemű lista (k)
- # k***** menő
- flat = [multi_dim[i][j][k] for i in range(7) for j in range(6) for k in range(5)]
- # így lapítasz le egy többdimenziós tömböt. érdekes, hogy fordítva van a ciklusok sorrendje: i, j, k
- for elem in flat: # listán való végigiterálás, az "elem" változó
- print(elem) # mindig a lista következő elemének értékével lesz egyenlő...
- flat2 = []
- for reteg in multi_dim: # ...ha ez az érték egy lista, akkor a változó is egy lista lesz, amin...
- for sor in reteg: # ugyancsak végig lehet iterálni.
- for elem in sor:
- flat2.append(elem) # így is készülhetett volna a lelapított lista.
- flat3 = [elem for reteg in multi_dim for sor in reteg for elem is sor] # vagy akár így
- """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
- felteteles = [1 for i in range(100) if i%3==0]
- #feltételes listagenerátor, akkor szúrja be az elemet, ha a feltétel teljesül
- felt2 = [1 if i%3==0 else 0 for i in range(100)]
- #ha else is kell, a for ciklus előttre kell írnod. A sorrend fontos.
- "felt3 = [1 if i%3==0 for i in range(100)]" # ez hibás, próbáld csak ki
- "felt4 = [1 for i in range(100) if i%3==0 else 0]" # ez is
- """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
- i, j, k = 1, 2, 3 # a tuple-ök... jó cuccokat lehet velül csinálni.
- # ez itt épp inicializálás tuple-módra.
- print(i, j, k)
- # a tuple-öket a sima zárójel és a vessző jellemzi, és nem lehet őket indexeléssel megváltoztatni.
- # egyébként viszonr ugyanúgy viselkednek, mint a listák.
- tup = (1, 2, 3)
- tup = 1, 2, 3 # mindegy hogy kiteszed-e a zárójelet
- "tup[0] = 4" # hibás, "nem lehet őket indexeléssel megváltoztatni"...
- print(tup[0]) # lehet viszont indexelni
- # ha nagyon meg akarod változtatni a tuple elemeit,
- # csinálj belőle listát, változtass rajta, aztán alakítsd vissza
- lista = list(tup)
- lista[0] = 4
- tup = tuple(lista) # ez így helyénvaló
- print(tup[0])
- i, j, k = (i+1 for i in range(3)) # lehet így is... generátorral, hihihi
- print(i, j, k)
- "i, j, k = i+1 for i in range(3)" # ide viszont kell a zárójel, ez hibás sor.
- # a generátoroknak mindig kell valami, amibe elemeket szúrogathatnak...
- # ez jelen esetben egy tuple.
- """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
- # ez egy insanely condensed cucc, magyarázva van, sokminden hasznos van benne
- # ilyeneket imádok csinálni, egy kib*** sor, és mennyi művelet...
- identity ="Munkas_"+str(int(list(eval(open("database.txt", "r").read()).keys())[-1].split("_")[1])+1)
- """""""""""Munkas_"+szöveggé(
- számmá(
- listává(
- kiértékel(
- megnyit( -adatbázis- ).kiolvas()
- -kiértékelődött- ).kulcsszavak()
- -listává vált- )[utolsó elem].szétválaszt( -alsóvonal alapján- )[második elem - ami maga a szám]
- -számmá vált- )+1
- -szöveggé vált- ) """
- # és ez csak annyit csinál, hogy egy adatbázisban ahol ilyen adatok vannak...
- """ {'Munkas_1': {'name': 'Benke', 'assots': 'világmegmentő', 'how_many_hdays': 'soha', 'salary': '0'},
- 'Munkas_2': {'name': 'Ádám', 'assots': 'gityó, programmieren', 'how_many_hdays': 'mindig', 'salary': 'jó sok'}}"""
- # meghatározza az utolsó embernek az id-jét, megnöveli eggyel, és hozzárakja ahhoz hogy "Munkas_"
- # az adatok egyébként egy ún. dictionary-ben vannak tárolva, amiben te mondhatod meg, hogy mi legyen az index, pl.
- szotar = {"cucc":69, "bucc":21}
- print(szotar["cucc"]) # igen, így indexeled. k*** jó
- # a kulcsszavai az indexek:
- print(szotar.keys())
- # az értékei... az értékei.
- print(szotar.values())
- # és egyben is listává (akarom mondani tuple-ök listájává) lehet alakítani, így:
- print(szotar.items()) # rohadt érdekes
- # egyébként egy mezei list() csak az indexeit szedi ki belőle... na ja
- print(list(szotar))
- # az egész adatbázisos kód linkjét is elküldöm, próbáld ki nyugodtan
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement