lambda x: float(x[1:-1]) 这个函数是什么意思,python 3.5

如题所述

先拆分来看:

lambda在python中是匿名函数的意思,同一般的函数不一样,它没有名字,也就不能调用,并且实质上lambda就是一个表达式,但是可以赋值给一个变量,通过这个变量来调用匿名函数,比如:

以上算的就是2的平方

float()是一个内置函数,可以把对象转换成一个浮点型数据,比如:

x[1:-1]是数组切片的用法,里面的1和-1分别都是索引值,意思是在x数组中,从索引值为1的到-1的索引值切片出来。比如:

然后整合来看:

lambda x: float(x[1:-1])只是一个表达式,就好比初中学的一元一次方程x+2=0一样,前面lambda x都只是定义一个形式,为了说明这个表达式的未知数是x,x可变的

重要的在后面的float(x[1:-1]),这里要注意,传入参数不对的话会报错,因为float接受的参数只能是一个整形数据和字符串数据,不能是数组类型,并且前提这个字符串数据可以被转为整形数据,比如‘285’,如果是‘python’是不行的

但是,整形数据不是数据类型,不能切片:

所以这里,能够正确传入的数据只能是可被转为整形的字符串了:

补充:字符串也是一个数组对象,可以被切片

温馨提示:内容为网友见解,仅供参考
第1个回答  2017-12-02
#这个lambda函数有错,不能float一个list
#我目测你想要的是这个函数是输入的x是一个list,返回list的第二个元素之后到倒数第二个的元素组成的list,
#然后后将这个list的数转换为float,前提是能转换

正确的写法如下:
myfun = lambda x : [float(i) for i in x[1:-1]]

#例子
inlist = [1,2,3,4,5]

print(myfun(inlist))
#[2.0, 3.0, 4.0]

第2个回答  2017-12-02
lambda创建一个匿名函数。冒号前面是传入参数,后面是一个处理传入参数的单行表达式。调用lambda函数返回表达式的结果。list的sort同于内建函数sorted。它有三个参数cmp,key,reverse,均有默认值。cmp是一个比较器,自定义比较器的话传入
第3个回答  2017-12-19
x 传进来的是一个字符串 截取第一位和最后一位,取中间的数字,转换成float类型。

lambda x: float(x[1:-1]) 这个函数是什么意思,python 3.5
lambda在python中是匿名函数的意思,同一般的函数不一样,它没有名字,也就不能调用,并且实质上lambda就是一个表达式,但是可以赋值给一个变量,通过这个变量来调用匿名函数,比如:以上算的就是2的平方 float()是一个内置函数,可以把对象转换成一个浮点型数据,比如:x[1:-1]是数组切片的用法,里...

Python lambda(匿名函数),一文详解
lambda函数的语法包括lambda关键字,后面跟着参数列表和一个表达式。例如,计算平方的lambda函数就是lambda x: x**2。其与普通函数的区别在于定义和使用方式,适合于简单场景,复杂逻辑则推荐使用普通函数以保证可读性和调试性。实战应用中,lambda在map()和filter()函数中的使用频繁,如对列表元素进行平方...

lambda在python中的用法
Lambda函数是Python中的一种简洁、内联定义的函数形式。其主要用于定义简单的、一行的小函数。下面详细解释Lambda的用法:一、基本语法 Lambda表达式的语法形式为:`lambda 参数列表 : 表达式`。其中,参数列表用于指定函数的参数,冒号后面的表达式则是函数的返回值。例如:`lambda x: x * 2`,这是一个...

这段python代码为什么[1:-1]改成[:]就不对了呢?
你好,[1:-1]的话是数组的第二个到最后一个,[:]是整个数组所以多了一个第一个数据。

python lambda函数用法?
x[1]是函数的返回值,是lst元素(元组)的第2个元素即字符串,所以,lst.sort(key=lambda x:x[1])是以lst元素(元组)的第二个元素为key排序,默认为升序 排序后的lst为[(4, 'four'), (1, 'one'), (3, 'three'), (2, 'two')]print(lst[3][1][2])是打印排序后的lst中的第4个元素...

Python lambda 函数深度总结
lambda x: x + 1 与 def 定义的函数类似,但更为简洁。要正确使用,需传递参数并执行,如:输出:需要注意的是,lambda函数的参数无需括号,调用时自动添加。此外,lambda能立即执行,这就是即时函数执行(IIFE)的概念。尽管lambda可以处理多个参数,但处理复杂条件或多层嵌套逻辑时,普通函数更易读。

Python中的eval()、filter()、float()函数有什么用?
>>> tuple(filter(lambda x : x['name'] == 'python', dict_a)) # 使用tuple()函数使结果变成字典 ({'name': 'python', 'points': 10},)float()float()的参数是一个数字或者字符串,它返回一个浮点数。如果参数是字符串,则字符串中应该包含一个数字,并可以在数字前加入一个 '-'...

python 中 return lambda 怎么理解?
lambda或者高阶函数是一种设计模式,是否适合应该要看更大范围的设计需要。脱离了需求场景,返回lambda根本是脱裤子放屁。

python的lambda函数是什么?
lambda就是匿名函数,就是没有名字的函数,来自于于函数式编程的概念。函数如下:def f(x):return x+1 print f(4)用lambda的话,写成这样:g = lambda x : x+1 print g(4)简介 Python由荷兰数学和计算机科学研究学会的Guido van Rossum 于1990 年代初设计,作为一门叫做ABC语言的替代品。Python...

lambda是什么意思?
一个希腊字母。拉姆达 Λ Lambda(大写Λ,小写λ),是第十一个希腊字母。读音:làn dǎ(烂打) 大写Λ用於: 粒子物理学上,Λ重子的符号 小写λ用於: 物理上的波长符号 。放射学的衰变常数, 线性代数中的特征值。 西里尔字母。

相似回答