python基础——三元表达式、各种生成式、常见内置函数(上)


一、三元表达式

值1 if 条件 else 值2

二、各种生成式

1.列表生成式

用于快速生成需要的列表
[列表元素 for 元素 in 数据集 if 生成条件]
if 条件可不写

print([i for i in range(10) if i >3])

2.字典生成式

用于快速生成需要的字典
{字典key:字典value for 元素 in 数据集 if 生成条件}
if 条件可不写

print({i:i+1 for i in range(10) if i >3})

3.集合生成式

用于快速生成需要的集合
{集合元素 for 元素 in 数据集 if 生成条件}
if 条件可不写

print({i for i in range(10) if i >3})

三、匿名函数

没有函数名的函数使用了lambda关键字进行创建
可以省略一些简单函数的编写,提高可读性

def sum1(a, b, c, d):
    return a + b + c + d

sum2 = lambda a, b, c, d: a+b+c+d
print(sum1(1,2,3,4))
print(sum2(1,2,3,4))

在这里插入图片描述

四、常见内置函数(上)

1.map

快速映射出符合条件一个数据集,返回的结果是迭代器,映射条件函数可用匿名函数生成

def change(k):
    k = k + "kk"
    return  k
l1 = {"k1": "11", "k2": "22"}
print(list(map(change, l1.values())))

在这里插入图片描述

2.zip

可以将作为参数的几个数据集组装起来,可迭代对象长度以元素最少的一个参数为主

l1 = ["bbc", "ddc", "aac"]
l2 = [12, 11, 10, 9, 8]
k1 = [16.1, 18.1, 19.0]
k2 = [True, True, True, False]

print(list(zip(l1,l2,k1,k2)))

在这里插入图片描述

3.filter

从数据集中过滤出需要的元素

def condition(n):
    return n % 2 > 0
l1 = [1, 2, 3, 4, 5, 6, 7]
print(list(filter(condition, l1)))

在这里插入图片描述

4.bytes

将对应数据转换为对应编码的bytes对象

l1 = "1313你们都是好朋友, good friends"
print(bytes(l1, "utf-8"))

在这里插入图片描述

5.reduce

以前是内置函数现在在functools中
作用是将所有元素归总(可以使求和、差等)

def kl(x, y):
    return x / y
ll = [36,2,2,2,2,2]
print(reduce(kl, ll))

在这里插入图片描述

6.abs

获取绝对值

s = -124
print(abs(s)) #124

7.all、any

all参数中没有0或False时返回True
any参数中至少有一个0或True时返回True

l = [0, 1, 2, True, False]
ll = [1, 1, 2, True, True]
print(any(l))
print(any(ll))
print(all(l))
print(all(ll))

在这里插入图片描述

8.bin、 oct、 hex

bin将数字转换为二进制字符串
oct将数字转换为八进制字符串
hex将数字转换为十六进制字符串

l = 666
print(bin(l))
print(oct(l))
print(hex(l))

在这里插入图片描述

9.bytes

将字符串转换为对应编码的bytes对象

str = "奥术大师 asdasdda 1232456121"
print(bytes(str, encoding="utf8"))

在这里插入图片描述

10.callable

判断对象是否可以加括号调用

name = "123456"
def get_name():
    return "get name"
print(callable(get_name))
print(callable(name))

在这里插入图片描述

11.chr、ord

chr将对应的数字转换为字符,转换规则参照ascii码表
ord将对应字符转换为数字,转换规则参照ascii码表

print(chr(97)) # a
print(ord("a")) # 97

12.dir

返回对象的内置方法

print(dir(dict))

在这里插入图片描述

13.divmod

将第一个参数与第二个参数做取余,返回俩个指第一个是商,第二个是余数

print(divmod(256, 50)) # (5, 6)

14.enumerate

对传入对象进行枚举
每个元素对应一个序号可设置起始编号

l = ["bbc", "kkc", "llc"]
for i,j in enumerate(l):
    print(i, j)
for i,j in enumerate(l, start=1):
    print(i, j)

在这里插入图片描述

15.eval、exec

eval只能运行简单逻辑的python代码
exec可以运行有一定逻辑的python代码

str1 = "print('take my money')"
str3 = "for i in range(10): print(i)"

eval(str1)
exec(str1)
exec(str3)

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值