这是什么语法?

San*_*eon -1 python-3.x tensorflow

(x_train, y_train), (x_test, y_test) = mnist.load_data()

这是 tensorflow 示例,但我不明白这意味着什么我知道 x_train、y_train、x_test、y_test 的目的,但我想知道它们是如何分配的。这是一种什么样的机制。谢谢

Mar*_*nen 5

这称为元组或可迭代解包。mnist.load_data()必须返回两个二元组的序列:

>>> (x_train, y_train), (x_test, y_test) = [(1,2),(3,4)]
>>> x_train
1
>>> y_train
2
>>> x_test
3
>>> y_test
4
Run Code Online (Sandbox Code Playgroud)

它可用于解包嵌套序列:

>>> a,b,c = 1,2,3      # a=1,b=2,c=3
>>> (a,b),c = (1,2),3  # same
Run Code Online (Sandbox Code Playgroud)

用于*对不同大小的序列进行操作:

>>> a,*b = 1,2,3,4,5
>>> a
1
>>> b
[2, 3, 4, 5]

>>> a,*b,c = 1,2,3,4,5
>>> a
1
>>> b
[2, 3, 4]
>>> c
5
Run Code Online (Sandbox Code Playgroud)

参考::


归档时间:

查看次数:

52 次

最近记录:

4 年,8 月 前