Pytania do Pythona

0

Czytałem w dokumentacji na temat string. Nie wiem, czy przeoczyłem, ale można, dlaczego nie można dodawać do stringu dodatkowych znaków? np.

string = 'string'
string[0] = 'n'
print(s[0])

Dalej, spotkałem się z 'u' przed np. u"""komentarzem""", o co z tym chodzi?
Edit
Czy ktoś byłby w stanie opisać co się po kolei dzieje w tym 'programie'?

d = {2: ['bee','ala','kota'],
     0: ['tata','mama'],
     1: ['braciszek', 'on', 'siostra']}
print(d[1][-1][1:])
0

http://ideone.com/RucDuI

TypeError: 'str' object does not support item assignment

dlaczego nie można dodawać do stringu dodatkowych znaków?

Tworcy tak sobie to zaprojektowali, ze nie mozna modyfikowac stringow 'w miejscu', a wszelkie zmiany powoduja utworzenie nowego, juz zmodyfikowanego obiektu. Tak samo masz na przyklad w Javie.

Dalej, spotkałem się z 'u' przed np. u"""komentarzem""", o co z tym chodzi?

Oznacza to, ze ten string bedzie w unicodzie.

Czy ktoś byłby w stanie opisać co się po kolei dzieje w tym 'programie'?

d = {2: ['bee','ala','kota'],
     0: ['tata','mama'],
     1: ['braciszek', 'on', 'siostra']}
    
lista__element_ze_slownika_z_kluczem_o_wartosci_jeden = d[1]
napis__ostatni_element_z_listy = lista__element_ze_slownika_z_kluczem_o_wartosci_jeden[-1]
napis_skladajacy_sie_z_wszystkich_poza_pierwsza_litera_napisu_zrodlowego = napis__ostatni_element_z_listy[1:]
print(napis_skladajacy_sie_z_wszystkich_poza_pierwsza_litera_napisu_zrodlowego)
0

@Nju: pytasz o takie podstawy ze dziwie sie ze watek jeszcze nie wyladowal w koszu. I zamiast podziekowac za pomoc "odgryzasz sie".
Wez sie chlopie do nauki i nie zawracaj ludziom gitary.
uruchom debugera lub rozpisz sobie tego klocka
na podwyrazenia i uzyj print.

0
Nju napisał(a):

Czy ktoś byłby w stanie opisać co się po kolei dzieje w tym 'programie'?

d = {2: ['bee','ala','kota'],
     0: ['tata','mama'],
     1: ['braciszek', 'on', 'siostra']}
print(d[1][-1][1:])

d to słownik, każdy słownik ma klucz i wartość. Kluczami w tym wypadku są odpowiednio 2, 0 oraz 1, a wartościami listy, które przyporządkowałeś tym kluczom (wartością i kluczem może być cokolwiek sobie wymarzysz). Pierwsza część kodu wyjaśniona. Teraz druga.

Jeśli chcesz wyciągnąć wartość klucza 1, to piszesz: d[1], to zwraca całą listę w postaci ['braciszek', 'on', 'siostra']
[-1] oznacza, że wybieramy ostatni (w tym wypadku liczymy od jedynki jako że nie ma takiej liczby jak -0) element naszej listy. Czyli d[1][-1] zwraca nam string 'siostra'.

Ostatni kwadratowy nawias odpowiada za "krojenie" naszego napisu. d[1][-1][1:] zwraca więc string iostra. Warto zwrócić uwagę, że nasze krojenie nie modyfikuje faktycznej wartości w słowniku, lecz zwraca pociachaną kopię.

Mam nadzieję, że wyjaśniłem wszystko łopatologicznie :)

Edit: Staraj się nie rzucać i nie atakować ludzi, którzy starają ci się pomóc; strasznie dziwne podejście z twojej strony :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1