Der Versuch, diesen Code in Python3 Jupyter Notebook auszuführen:namedtuple benötigt 3 Argumente?
t = namedtuple('a', 'b')
a = [1,0,1]
b = [1,1,1]
Out, In = np.asanyarray(a), np.asanyarray(b)
t(Out.shape[0], *In.shape)
Fehler zurückkehrt:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-151-7955ff03a60d> in <module>()
3 b = [1,1,1]
4 Out, In = np.asanyarray(a), np.asanyarray(b)
----> 5 t(Out.shape[0], *In.shape)
TypeError: __new__() takes 2 positional arguments but 3 were given
ist möglich namedtuple mit zwei Argumenten zu schaffen?
Update:
Warum funktioniert das nicht ähnliches Problem verursachen:
t = namedtuple('ps', 'Out In S')
a = np.asanyarray([[1]])
b = np.asanyarray([[1]])
d = t(a.shape[0], *b.shape)
d
berechnet:
ps(Out=1, In=1, S=1)
Update 2:
glaube, ich verstehe jetzt namedtuple('ps', 'Out In S')
übersetzt namedtuple('name_of_tuple', 'tuple_values_seperated_by_spaces')
Das erste Argument von named Tupel, ist der Name des benannten Tupel, nicht die Argumente. –
Sie verwenden das 'namedtuple' falsch. [Überprüfen Sie die Dokumentation, was die Parameter sein sollten] (https://docs.python.org/3/library/collections.html#collections.namedtuple). – poke