22个Python的万用公式分享
Python是一门非常强大的编程语言,拥有非常丰富的库和函数可以使用,这些库和函数中又有许多是用于解决常见问题的万用公式。在这里,我们分享22个Python的万用公式,帮助你更好地掌握Python编程技巧。
1. 计算列表中数字总和
使用sum()
函数可以计算列表中所有数字的总和,示例代码如下:
nums = [1, 2, 3, 4, 5]
total = sum(nums)
print(total)
输出结果为:
15
2. 判断字符串是否包含某个子串
使用in
关键字可以判断一个字符串是否包含另一个字符串,示例代码如下:
string = "hello world"
substring = "world"
if substring in string:
print("包含子串")
else:
print("不包含子串")
输出结果为:
包含子串
3. 删除列表中的重复元素
使用set()
函数可以将列表转换为集合,集合中的元素是唯一的,然后再将集合转换回列表即可得到一个去重后的列表,示例代码如下:
nums = [1, 2, 3, 2, 1, 4, 5, 4]
unique_nums = list(set(nums))
print(unique_nums)
输出结果为:
[1, 2, 3, 4, 5]
4. 统计列表中元素出现次数
使用collections
模块中的Counter
类可以统计列表中元素出现的次数,示例代码如下:
from collections import Counter
nums = [1, 2, 3, 2, 1, 4, 5, 4]
count_nums = Counter(nums)
print(count_nums)
输出结果为:
Counter({1: 2, 2: 2, 3: 1, 4: 2, 5: 1})
5. 将列表按照指定字段排序
使用sorted()
函数和lambda
表达式可以按照列表中的指定字段排序,示例代码如下:
students = [{"name": "Tom", "age": 18}, {"name": "Jack", "age": 20}, {"name": "Amy", "age": 16}]
students_sorted_by_age = sorted(students, key=lambda x: x['age'])
print(students_sorted_by_age)
输出结果为:
[{'name': 'Amy', 'age': 16}, {'name': 'Tom', 'age': 18}, {'name': 'Jack', 'age': 20}]
6. 将列表转为字符串
使用join()
函数可以将列表中的元素拼接成一个字符串,示例代码如下:
words = ["hello", "world", "python"]
sentence = " ".join(words)
print(sentence)
输出结果为:
hello world python
7. 排列组合计算
使用math
模块中的factorial()
函数和combinations()
函数可以计算排列组合,示例代码如下:
import math
from itertools import combinations
# 计算5的阶乘
factorial_5 = math.factorial(5)
print(factorial_5)
# 计算从5个元素中选择3个元素的组合数
combinations_3_from_5 = list(combinations(range(5), 3))
print(combinations_3_from_5)
输出结果为:
120
[(0, 1, 2), (0, 1, 3), (0, 1, 4), (0, 2, 3), (0, 2, 4), (0, 3, 4), (1, 2, 3), (1, 2, 4), (1, 3, 4), (2, 3, 4)]
8. 生成指定范围内的随机整数
使用random
模块中的randint()
函数可以生成指定范围内的随机整数,示例代码如下:
from random import randint
# 生成1到10之间的随机整数
random_num = randint(1, 10)
print(random_num)
输出结果为:
5
9. 遍历列表时显示进度条
使用tqdm
模块可以在遍历列表时显示进度条,示例代码如下:
from tqdm import tqdm
nums = [1, 2, 3, 4, 5]
for num in tqdm(nums):
# 这里写你的循环体代码
pass
输出结果为:
100%|██████████| 5/5 [00:00<00:00, 11303.11it/s]
而不是简单的:
1
2
3
4
5
10. 计算代码运行时间
使用time
模块可以计算代码运行的时间,示例代码如下:
import time
start_time = time.time()
# 这里写你要计算时间的代码
pass
end_time = time.time()
elapsed_time = end_time - start_time
print(elapsed_time)
输出结果为:
0.001
11. 查找列表中某个元素的索引值
使用index()
函数可以查找列表中某个元素的索引值,示例代码如下:
words = ["hello", "world", "python"]
index_of_world = words.index("world")
print(index_of_world)
输出结果为:
1
12. 读写文件
使用open()
函数可以读写文件,示例代码如下:
with open('filename.txt', 'r') as f:
content = f.read()
with open('filename.txt', 'w') as f:
f.write('hello, world!')
13. 将字符串转为日期格式
使用datetime
模块中的strptime()
函数可以将字符串转为日期格式,示例代码如下:
from datetime import datetime
date_string = '2022-12-31'
date_object = datetime.strptime(date_string, '%Y-%m-%d')
print(date_object)
输出结果为:
2022-12-31 00:00:00
14. 计算两个日期之间的天数
使用datetime
模块中的date()
函数和timedelta()
函数可以计算两个日期之间的天数,示例代码如下:
from datetime import date, timedelta
start_date = date(2022, 6, 1)
end_date = date(2022, 6, 10)
num_of_days = (end_date - start_date).days
print(num_of_days)
输出结果为:
9
15. 将字典按照值排序
使用sorted()
函数和lambda
表达式可以将字典按照值排序,示例代码如下:
d = {"a": 3, "b": 1, "c": 2}
sorted_d = sorted(d.items(), key=lambda x: x[1])
print(sorted_d)
输出结果为:
[('b', 1), ('c', 2), ('a', 3)]
16. 将列表或字典转为JSON格式
使用json
模块中的dumps()
函数可以将列表或字典转为JSON格式,示例代码如下:
import json
data = {"name": "Tom", "age": 18}
json_str = json.dumps(data)
print(json_str)
输出结果为:
{"name": "Tom", "age": 18}
17. 将JSON格式转为列表或字典
使用json
模块中的loads()
函数可以将JSON格式转为列表或字典,示例代码如下:
import json
json_str = '{"name": "Tom", "age": 18}'
data = json.loads(json_str)
print(data)
输出结果为:
{'name': 'Tom', 'age': 18}
18. 将字符串转为全小写模式
使用lower()
函数可以将字符串转为全小写模式,示例代码如下:
string = "HELLO WORLD"
lower_string = string.lower()
print(lower_string)
输出结果为:
hello world
19. 将字符串转为全大写模式
使用upper()
函数可以将字符串转为全大写模式,示例代码如下:
string = "hello world"
upper_string = string.upper()
print(upper_string)
输出结果为:
HELLO WORLD
20. 判断一个字符串是否是数字
使用isdigit()
函数可以判断一个字符串是否是数字,示例代码如下:
num_string = "123"
not_num_string = "hello"
if num_string.isdigit():
print("num_string是数字")
else:
print("num_string不是数字")
if not_num_string.isdigit():
print("not_num_string是数字")
else:
print("not_num_string不是数字")
输出结果为:
num_string是数字
not_num_string不是数字
21. 将列表翻转
使用reverse()
函数可以将列表翻转,示例代码如下:
nums = [1, 2, 3, 4, 5]
nums.reverse()
print(nums)
输出结果为:
[5, 4, 3, 2, 1]
22. 判断文件是否存在
使用os.path
模块中的exists()
函数可以判断文件是否存在,示例代码如下:
import os.path
file_name = 'filename.txt'
if os.path.exists(file_name):
print('文件存在')
else:
print('文件不存在')
输出结果为:
文件存在
以上22个Python的万用公式分享,可以在日常编程中提高效率并减少出错的概率。