九个应知应会的单行Python代码
更新时间:2023-07-14Python中常用的11个单行代码
Python作为一门高级编程语言,其强大之处不仅仅在于其完善的库和简洁的语法,还在于可以通过Python的单行代码来完成某些功能的快速实现。下面介绍Python中11个常用的单行代码:
1. 打印Hello World
print("Hello World")
这是Python中最基础的打印语句,可以用于在终端上输出任意字符串,也可以用于调试输出中间结果。
2. 列表去重
a = [1,2,3,3,4,5,5]
b = list(set(a))
print(b)
上述代码可用于将列表a中的重复元素去除,并将去重后的结果存储在列表b中。
3. 矩阵转置
a = [[1,2,3],[4,5,6],[7,8,9]]
res = [list(i) for i in zip(*a)]
print(res)
此处通过zip将矩阵a的每一列打包成元组,再通过list将元组转化成列表,并存储在res中。
4. 一行代码生成随机数
import random
a = random.randint(1,10)
print(a)
使用Python中的random库,结合randint函数,可以生成指定范围内的随机整数。
该库也提供了生成随机字符串的功能,示例代码如下:import string
import random
a = ''.join(random.sample(string.ascii_letters + string.digits, 8))
print(a)
运行结果可能是如下字符串之一:'Gt1YLAvN', 'D5Xu6ENc', '9CQnlHWB'。
5. 逆转字符串
a = 'abcdefg'
res = a[::-1]
print(res)
要逆转一个字符串,只需要使用Python中的切片操作,即将第3个参数设为-1。
6. 使用lambda函数排序
a = [(1,4),(2,3),(3,2),(4,1)]
res = sorted(a, key = lambda x : x[1])
print(res)
此处使用lambda表达式作为排序的关键字,将列表a按照元组中第二个元素的大小进行升序排列。
7. 计算n的阶乘
n = 5
res = 1 if n<=1 else n*func(n-1)
print(res)
使用Python的递归功能,计算n的阶乘。可以考虑将其封装成一个函数:
def factorial(n):
return 1 if n<=1 else n*factorial(n-1)
print(factorial(5))
8. 交换两个变量的值
a, b = 5, 8
a, b = b, a
print(a,b)
Python支持同时赋值多个变量,并且允许直接交换两个变量的值,类似于上述代码片段。
9. 过滤列表中的负数
a = [1, -1, 2, -3, 4, -5]
res = list(filter(lambda x : x>0, a))
print(res)
此处使用了Python中的filter函数,以及lambda函数作为一个筛选条件。将列表a中大于0的元素筛选出来。
10. 判断一个数是否为质数
n, flag = 17, True
for i in range(2,n//2):
if (n % i) == 0:
flag = False
if flag:
print(n,"是质数")
else:
print(n,"不是质数")
使用Python的for循环,遍历2至n-1这些数,如果发现一个数能够整除n,则n不是质数。注意到,这里可以将n/2进行一个转换,减少循环次数。
11. 计算列表中所有元素之和
a = [1,2,3,4,5]
res = sum(a)
print(res)
sum函数是Python内置的一个求和函数,可以对一个列表进行求和操作,返回所有元素之和。