Wraz z wydaniem Python 3.5 manipulowanie listami, krotkami, setami i dyktami stało się bardziej golfowe.
Przekształcanie iterowalnego zestawu / listy
Porównaj pary:
set(T)
{*T}
list(T)
[*T]
tuple(T)
(*T,)
Znacznie krócej! Pamiętaj jednak, że jeśli chcesz po prostu przekonwertować coś na listę i przypisać ją do zmiennej, normalne rozszerzone iterowalne rozpakowywanie jest krótsze:
L=[*T]
*L,=T
Podobna składnia działa dla krotek:
T=*L,
co jest jak rozszerzone iterowalne rozpakowywanie, ale z gwiazdką i przecinkiem po drugiej stronie.
Łączenie list / krotek
Rozpakowanie jest nieco krótsze niż konkatenacja, jeśli musisz dołączyć listę / krotkę po obu stronach:
[1]+T+[2]
[1,*T,2]
(1,)+T+(2,)
(1,*T,2)
Drukowanie zawartości wielu list
Nie jest to ograniczone do print
, ale zdecydowanie jest to, skąd będzie pochodzić większość przebiegów. PEP448 pozwala teraz na wielokrotne rozpakowywanie, tak jak:
>>> T = (1, 2, 3)
>>> L = [4, 5, 6]
>>> print(*T,*L)
1 2 3 4 5 6
Aktualizowanie wielu pozycji słownika
Prawdopodobnie nie zdarza się to często, ale można użyć składni, aby zaoszczędzić na aktualizowaniu słowników, jeśli aktualizujesz co najmniej trzy elementy:
d[0]=1;d[1]=3;d[2]=5
d={**d,0:1,1:3,2:5}
Zasadniczo neguje to jakąkolwiek potrzebę dict.update
.