python sort函数_一行Python代码能做什么

显示“Python之禅”

import this

打开漫画网站

import antigravity
说明:这个和上面那个 import this应该算是Python中的彩蛋。

定义求阶乘的函数

fac = lambda x: __import__('functools').reduce(int.__mul__, range(1, x + 1), 1)
提示:归约函数 reduce在Python 2中是一个内置函数;Python 3将这个函数放在了 functools模块下,需要先导入再使用。如果希望一行内实现模块导入和函数调用,可以写成 __import__('functools').reduce()

定义求最大公约数的函数

gcd = lambda x, y: y % x and gcd(y % x, x) or x

gcd = lambda x, y: gcd(y % x, x) if y % x else x

倒转一个字符串

s[::-1]
提示:划个重点,上面两段内容在Python面试中经常会被问到哟!

交换两个变量的值

a, b = b, a

定义判断素数的函数

is_prime = lambda x: x > 1 and all(map(lambda f: x % f, range(2, int(x ** 0.5) + 1)))

或者

is_prime = lambda x: x > 1 and not [f for f in range(2, int(x ** 0.5) + 1) if x % f == 0]

生成FizzBuzz列表

说明:所谓“FizzBuzz列表”是指一个列表中有1到100的数字,将3的倍数换成“Fizz”,5的倍数换成“Buzz”,15的倍数换成“FizzBuzz”。这个题目在面试中还经常出现哦,主要想考察生成式的应用。
['Fizz'[x % 3 * 4:] + 'Buzz'[x % 5 * 4:] or x for x in range(1, 101)]

输出乘法口诀表

print('n'.join(['t'.join([f'{x}*{y}={x*y}' for y in range(1, x + 1)]) for x in range(1, 10)]))

定义快速排序的函数

quick_sort = lambda items: items if not items else quick_sort([x for x in items[1:] if x < items[0]]) + [items[0]] + quick_sort([x for x in items[1:] if x > items[0]])

或者

quick_sort = lambda items: len(items) and quick_sort([x for x in items[1:] if x < items[0]]) + [items[0]] + quick_sort([x for x in items[1:] if x > items[0]]) or items

今天暂时就想到这么多,如果大家点赞支持,或许我会想到更多。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值