【发布时间】:2020-01-02 04:59:10
【问题描述】:
我目前正在使用 python 3.5 和 Ubuntu 16.04。我在 python 2 中有一个代码,我想将它用于 python 3.5。代码由 lambda 组成,传递给它的参数(比如说苹果)由 3 个元组组成。第一个元组是一个数组,看起来像这样:
array([[0,0,0,0],[0,0,0,0]],dtype=uint8)
第二个元组由一对这样的数字组成:
(34,678)
第三个元组是一个字符串,它包含一个指向特定文件的路径:
'/home/king/abcd.png'
因此我的论点苹果看起来像这样:
apple=(array([[0,0,0,0],[0,0,0,0]],dtype=uint8),(34,678),'/home/king/abcd.png')
现在我知道 python3 中 lambda 的语法已经改变,同时删除了元组参数解包:
lambda(x, y) : x*x , y*y (python2)
lambda x_y : x_y[0] * x_y[0] , x_y[1] * x_y[1] (python3)
现在我的主要问题/问题是我想访问 lambda 中第一个元组的第一行,即访问:
[[0,0,0,0],[0,0,0,0]]
传递给 lambda 的参数是我们的参数 apple。 我目前的语法是:
lambda(x,y,z) : x[0] , y , z (pyhton2)
lambda x_y_z : ? , ? , ? (python3)
注意:我没有使用/尝试/考虑使用 python 3.8
【问题讨论】:
-
只是不要使用 lambda。它从来没有必要。
标签: python python-3.x lambda ubuntu-16.04