Aktywne Wpisy

kicioch +561
#20latwykopu Nadal nie wiem dlaczego ludzie używają tagu #kiciochpyta do zadawania pytań, ale oby tak dalej xD
pozdrawiam te ponad 700 ludzi którzy ten tag obserwują (ʘ‿ʘ)
pozdrawiam te ponad 700 ludzi którzy ten tag obserwują (ʘ‿ʘ)

yourgrandma +389
#20latwykopu Chciałem skomentować wpis @idzpanwuj z #thebestofmirko, ale jako że ma mnie na czarnej to dam oddzielny wpis z paroma klasyczkami i perełkami ( ͡° ͜ʖ ͡°)
źródło: comment_Wy2WSZPHI75xmAVtYs8TCozHKPgR0CGu
Pobierz




0iFalseoraz odpowiednio1iTruei1.0, to dochodzi do poniższego zjawiska.Wartości
TrueiFalsenie mają swoich kluczy w wynikowym słowniku poniżej, bo nadpisały wartości0i1.>>> {k:k for k in (0, 1, 2, 3, 1.0, True, False, None)}{0: False, 1: True, 2: 2, 3: 3, None: None}
Co ciekawe - jeśli zamienimy kolejność tworzenia słownika, będzie się wydawało, że wynik ma zamienione miejscami wartości z kluczami w porównaniu do poprzedniego rezultatu.
>>> {k:k for k in (True, False, 0, 1, 2, 3, 1.0, None)}{True: 1.0, False: 0, 2: 2, 3: 3, None: None}
#python #programowanie #wscieklepiesciweza
https://docs.python.org/3/library/functions.html#bool
https://en.wikipedia.org/wiki/Hash_table
Dlaczego ta różnica w inicjalizacji tablicy daje zupełni różny wynik?
Domyślam się ze w pierwszym przypadku 2 wiersze po prostu mają wskaźnik na pierwszy wiersz dlatego wszystkie są identyczne, dobrze rozumuję ?
matrix=[[0]*3]*3
matrix[0][0]=2
@misiekkiler: Zamien zapis:
matrix = [[0] * 3] * 3naaa = [0] * 3i nastepnie wywołaj:matrix = aa * 3i powinno to być już jasne. Stworzyłeś listę z trzema referencjami do jednej listyaa. Stąd ta propagacja przypisania. Możesz sprawdzić:print(matrix[0] isDziękuję za potwierdzenie mojej tezy :)
@misiekkiler: w sposobie kolegi @tamtokontojuzusunalem jest maly blad - powinno byc
[aa] * 3