python高级内置函数和各种推导式的介绍:一行搞定的代码

一、知识要点

all 都为真
any 有真的
min 最小的
max 最大的
sum 求和
reversed 反转
sorted 排序
zip 对应合并
[] 列表推导式
() 生成器
{} 字典推导式
set 去重
if三元操作符 xx if x else y
ennmerate 枚举,带索引

二、 代码

1. all

# 参数为一个可迭代的对象(Iterable)
m =[1, 2, 3, 4, '']  # 当然不是这样简答的使用
print(all(m))

def a1():
    # 完成一系列操作
    return False

def a2():
    # 完成一系列操作
    return True

def a3():
    # 完成一系列操作
    return True

if all([not a1(),a2(),a3()]):
    # 前一个为假,最后为真运行这里
    print('are u ok')

2. any

# 只要有真的就运行,参数也是一个可迭代的对象
print(any([0,'',' ']))  # True

3. min,max

print(min([10,2,3,4,5]))
print(max([10,2,3,4,5]))

4. sum

两个参数:

第一个参数可迭代的对象数组,第二个参数为前面累加和 再加上这个参数,当第一个参数为空,直接返回第二个参数

print(sum(range(100),10))

5. reversed

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
# 对一个序列进行反转,返回一个可迭代的对象
li_m = [123,32,234,2123,43,12,53]

for i in reversed(li_m):
    print(i)

[i for i in reversed(li_m)]  # 使用列表推倒式一行搞定

6. sorted排序

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
# 默认的列表排序
li_m = [123,32,234,2123,43,12,53]
li_m.sort()  # 有两个参数 key 与 revered
print(li_m)

# sorted 是返回一个新列表
new_li = sorted([1,34,123,111,23])
print(new_li)
new_li = sorted([-1,-3,-9,2,4], key=abs)  # 根据绝对值进行排序,也可以使用lambda排序
print(new_li)

7. zip

# 拉链,合并两个序列(一一对应)
x = [1,2,3,4,5]
y = ['a', 'b', 'c']
print(list(zip(x, y)))
print(dict(zip(x,y)))

8. 推导式

# 列表推导-->也可以使用map推到,但是比较麻烦
print([x for x in range(10)])
print([x*100 for x in range(10)])print([x for _ in rang(len(list))])  # 当某个参数使用不到的时候,直接使用_代表,避免浪费变量

# 生成器表达式----> 优先使用这个,节约内存
print((x**3 for x in range(8)))
for i in (x**3 for x in range(8)):
    print(i)

字典推导式

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
# 把下面的v转换为大写
info = {'louhui':'hz','laoniu':'hengxi','caoyu':'dongwu'}

# 1,常规做法
info_new = {}
for k,v in info.items():
    info_new[k] = v.upper()
print(info_new)

# 2. 字典推导
a = {k:v.upper() for k,v in info.items()}
print(a)

9. 去重

s = [1,2,2,2,33,43,3,3,3,]
ss = set(s)
print(ss)

10. 三元操作符

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
# 前面是返回值,如何为真,则用前面,为假则为后面的值
True if s == 'a' else False
# 一般用在函数的返回值
def func(s):
    # many
    return True if s =='a' else False

11. 枚举

# 就是给列表加上下表
menu = ['add', 'del', 'modfiy', 'find']
for num, m in enumerate(menu):
    print(num+1,m)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值