iterable-unpacking
Co oznacza operator gwiazdy w wywołaniu funkcji?
Co oznacza operator * w Pythonie, np. w kodzie zip(*x) lub f(**k)?
Jak jest to obsługiwane wewnętrznie przez tłumacza?
Czy ... ydajność? Szybko czy wolno?
Kiedy jest przydatny, a kiedy nie?
czy powinna być używana w deklaracji funkcji czy w wywołaniu?
"rozpakowanie" krotki do wywołania pasującego wskaźnika funkcji
Próbuję zapisać w std::tuple różną liczbę wartości, które zostaną później użyte jako argumenty wywołania wskaźnika funkcji, k ... go samego wyniku netto przechowywanie / przekazywanie niektórych wartości i wskaźnika funkcji do dowolnego przyszłego punktu?
Rozpakowywanie, rozszerzone rozpakowywanie i zagnieżdżone rozszerzone rozpakowywanie
Rozważ następujące wyrażenia. Zauważ, że niektóre wyrażenia są powtarzane, aby przedstawić "kontekst".
(jest to długa lista) ... = 'XY', 3, 4 # ERROR -- too many values to unpack
Jak poprawnie wydedukować rezultat takich wyrażeń ręcznie?
Rozpakowywanie, rozszerzone rozpakowywanie i zagnieżdżone rozszerzone rozpakowywanie
Rozważmy te wyrażenia... Proszę o cierpliwość... to długa lista...
(Uwaga: niektóre wyrażenia są powtarzane - jest to tylko ... takich wyrażeń. Czy czytając czyjś kod, powinienem go po prostu zignorować i nigdy nie próbować pojąć, co robi to wyrażenie?
Jak przekonwertować słownik na listę krotek?
Jeśli mam słownik typu:
{ 'a': 1, 'b': 2, 'c': 3 }
Jak mogę przekonwertować to na to?
[ ('a', 1), ('b', 2), ('c', 3) ]
I jak Mogę to przekonwertować na to?
[ (1, 'a'), (2, 'b'), (3, 'c') ]
Jak wymiana członów w krotkach (a,b)=(b,a) działa wewnętrznie?
In [55]: a = 5
In [56]: b = 6
In [57]: (a, b) = (b, a)
In [58]: a
Out[58]: 6
In [59]: b
Out[59]: 5
Jak to zamiana wartości a i b działa wewnętrznie? Zdecydowanie nie używa zmiennej temp.
Jak wymiana członków w krotkach Pythona (a,b)=(b,a) działa wewnętrznie?
In [55]: a = 5
In [56]: b = 6
In [57]: (a, b) = (b, a)
In [58]: a
Out[58]: 6
In [59]: b
Out[59]: 5
Jak to zamiana wartości a i b działa wewnętrznie? Zdecydowanie nie używa zmiennej temp.
Tuple rozpakowywanie w operacjach Map
Często pracuję z listami, sekwencjami i Iteratorami krotek i chciałbym zrobić coś takiego:
val arrayOfTuples = List((1, "Tw ... {
t =>
val e1 = t._1
val e2 = t._2
e1.toString + e2
}
Co jest po prostu głupie. Jak mogę to obejść?
Python tuple rozpakowuje się w deklaracji return
Język Python (szczególnie 3.x) pozwala na bardzo ogólne rozpakowanie iterabli, czego prostym przykładem jest
a, *rest = 1, ... Proszę. nie jest tak, ponieważ pominięcie nawiasów nie powoduje innych niechcianych zachowań, ale raczej żadnego zachowania.
Zrozumienie *x,= lst
Przeglądam jakiś stary kod, próbując zrozumieć, co on robi, i natknąłem się na to dziwne stwierdzenie:
*x ,= p
p jest lis ...
p = [1,2]
*x ,= p
print(x)
Po prostu daje
[1, 2]
Czy to coś innego niż x = p? Jakiś pomysł, co ta składnia robi?
Jak wyodrębnić pojedynczą parę klucz-wartość w zmiennych
Mam tylko jedną parę klucz-wartość w słowniku. Chcę przypisać klucz do jednej zmiennej
i jest to wartość do innej zmiennej. P ... en po drugim, lub za pomocą pętli for I iteritems(), ale czy nie ma prostego sposobu, aby przypisać oba w jednej instrukcji?
Znaczenie używania przecinków i podkreślników z operatorem przypisania Pythona?
Czytając wypracowanie Petera Norviga rozwiązujące każde zagadki Sudoku , natknąłem się na kilka idiomów Pythona, których nigd ... s) for s in squares if len(values[s]) > 1)
Czy podkreślenie powoduje odrzucenie pierwszej wartości zwracanej na liście?
Czy jest sposób na utworzenie krotki z listy (bez codegeneracji)?
Czasami istnieje potrzeba tworzenia krotek z małych kolekcji(na przykład skalowanie frameworka).
def toTuple(list:List[Any]):scala.Product = ...
Dlaczego słownik można rozpakować jako krotkę?
Dzisiaj widziałem jedno stwierdzenie, które nie rzuciło wyjątku. Czy ktoś może wyjaśnić stojącą za tym teorię?
>>> x, y = {'a': 2, 'b': 5}
>>> x
'a'
>>> y
'b'
Rozpakowywanie list argumentów dla elipsy w R
Jestem zdezorientowany użyciem elipsy (...) w niektórych funkcjach, np. jak przekazać obiekt zawierający argumenty jako pojed ... foo/bar/foob'
Gdzie elementy args nie są "rozpakowane" i oceniane jednocześnie. Czy istnieje odpowiednik R do pytonów *arg?