37,720
社区成员
发帖
与我相关
我的任务
分享
l = []
ll = []
lll = []
ll.append(1)
ll.append(2)
lll.append(3)
lll.append(4)
l.append(ll)
l.append(lll)
l,ll,lll这三个都是list结构,其中l中的元素是list结构,它装着ll,lll,具体内容如下:
ll = [1, 2] --》 ll[1] = 2
lll = [3, 4] --> lll[1] = 4
l = [[1,2], [3, 4]] --> l[0] = [1, 2] l[1] = [3, 4] --> l[0][1] = 2 l[1][1] = 4
a = lambda out: [x[1] for x in out] 相当于:
def a(out):
r = []
for x in out: # 当把l传进来时,x 依次被赋值为 [1, 2] [3, 4]
r.append(x[1]) # 再把x的第2个元素添加到结果中,即依次添加整数 2, 4
return r # 所以最后就把 r = [2, 4] 这个list返回
print(a(l)) 的就结果就是打印 [2, 4]
a = lambda out: [x[1] for x in out]
这个式子能正确运行吗
x已经是out当中的一个元素了,x[1]不能这么使用吧def a(out):
r = []
for x in out:
r.append(x[1])
return r
或者
def a(out):
return [x[1] for x in out]