Python常用赋值语句的简洁方法
对于一直从事PHP开发的我来说,第一次见到批量赋值如此简洁的代码,就深深地喜欢上了Python , 虽然 它的性能不是最好的,但喜欢就是喜欢 !
1.计算 i的三次方
data = [i**3 for i in range(0,5)]
print(data)
2.获取当前目录下所有的文件
data = [file for file in os.listdir( os.getcwd() )]
print(data)
3.计算当前值小于等于10的平方
data = [i**2 for i in range(0,15) if i <= 10]
print(data)
4.过滤年龄大于26岁的人员
users = [("libingbing",25),("Mr chen",18),("Guojiu",30),("Huanghai",14)]
data = [name for (name,age) in users if age < 26]
print(data)
5.enumerate的使用:用于将一个可遍历的数据对象组合为一个索引序列
color = ["black","yellow","pink","red"]
data = enumerate(color)
for i,d in data :
print(i,d)
6.将字符转换为列表
str = "abcdefg"
data = list(str)
print(data)
7.列表的重复
data = ["go"] * 4
print(data)
8.判断该值是否在指定的列表中存在
data = [2,4,6,8]
print( 4 in data )
9.map的用法 : 根据提供的函数对指定序列做映射
data = map(lambda x: x ** 3, [1, 2, 3])
for i in data :
print(i)
10.filter : 过滤掉不符合条件的元素 , 过滤奇数
print("*" * 20)
data = filter(lambda x : x % 2 == 0 ,range(1,10))
for i in data :
print(i)
11.zip : 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表
a1 = [11,22,33]
a2 = [44,55,66]
# 打包为元组的列表
data = zip(a1,a2)
for i in data :
print(i)
a3 = [(1,2,3),(4,5,6),(7,8,9)]
# 与 zip 相反,*a3 可理解为解压,返回二维矩阵式
data = zip(*a3)
for i in data :
print(i)
12.any() 函数用于判断给定的可迭代参数 iterable 是否全部为 False,则返回 False,如果有一个为 True,则返回 True。
print("*" * 20)
print( any([1,2,3,4]) )
13:all() 函数用于判断给定的可迭代参数 iterable 中的所有元素是否都为 TRUE,如果是返回 True,否则返回 False。
print( all([1,2,3,0]) )
print( all([1,2,3,4]) )
14 : sinstance() 函数来判断一个对象是否是一个已知的类型
# 2是int类型,所以返回true
print( isinstance (2,int) )
15.python 没有 switch 的方法,要实现类似的方法如下 :
switch = {
"addition":lambda x,y: x+y,
"square" :lambda x: x ** 2,
}
data1 = switch.get("addition")(1,2)
data2 = switch.get("square")(3)
print(data1,data2)