Wpis z mikrobloga

Augmented Assignments (rozszerzone przypisanie? w każdym razem coś z += i listami) #python 2.X oraz 3.X
Dodawanie elementu do listy

some_list = []
some_list = some_list + [1] # można tak ale tutaj tworzymy kopie listy przez co program jest teoretycznie wolniejszy
some_list.append(2) # tutaj już nie działamy na kopii listy tylko bezpośrednio na obiekcie przez co jest szybsze

Dodawanie elementów do listy (ten sam przypadek co wyżej)

some_list = []
some_list = some_list = [1,2,3] # teoretycznie wolniejsze
some_list.extend([1,2,3]) # teoretycznie szybsze

Listy i referencje

list_1 = [1, 2]
list_2 = list_1
list_1 = list_1 + [3] # Concatenation makes a new object
# list_1 = [1, 2, 3]
# list_2 = [1, 2] <-- niezmieniona!

a tutaj:

list_1 = [1, 2]
list_2 = list_1
list_1 += [3] # można przyjąć, że to działa jak metoda extend
# list_1 = [1, 2, 3]
# list_2 = [1, 2, 3] <--

+= z listami

some_list = []
some_list += 'sth' # extend
# some_list = ['s', 't', 'h']

a tutaj:

some_list = []
some_list = some_list + 'sth'
# TypeError: can only concatenate list (not "str") to list

#zikenpython
  • 2
  • Odpowiedz
@zarev: Po to są komentarze tutaj ()!

Ale masz rację, to powinno się znaleźć więcej szczegółów dotyczącej tej kwestii i dzięki za doprecyzowanie.
  • Odpowiedz