Dobrý den a opět díky za článek.
Zajímalo by mě použití konstrukce v příkladu v příkladu 21:
# Tisk vsech prvku seznamu. # def printList(list_variable): for i in range(0, len(list_variable)): print(readItem(list_variable, i))
proč nepoužít:
def printList(list_variable): for var in list_variable: print(var)
Podobně funkce printTuple v příkladu 23.
Že přístup k prvkům seznamu, bez pomocné proměnné znáte je vidět z příkladů:
funkcí sum a printList v příkladu 22.
funkcí sum a printTuple v příkladu 24.
Pro funkci inkrementace prvků jsem zkusmo použil:
def modifyListItems(list_variable): return map(lambda x: x+1, list_variable)
Bytecode je kratší,
31 0 LOAD_GLOBAL 0 (map) 3 LOAD_CONST 1 (<code object <lambda> at 00B177B8, file "./Test21.py", line 31>) 6 MAKE_FUNCTION 0 9 LOAD_FAST 0 (list_variable) 12 CALL_FUNCTION 2 15 RETURN_VALUE
ale švindluje odskakováním do lambda, a výkonnostně je cca 4x pomalejší :)