注:以下技巧基于Python3
a, b = 1, 2
print("赋值:", a, b)
# 交换变量值
a, b = b, a
print("交换:", a, b)
赋值: 1 2
交换: 2 1
a = 5
print(1 < a < 10)
print(5 < a < 10)
True
False
# python3.6开始支持
name = "Jack"
print(f"Hello {name}")
Hello Jack
# 比如将url用"/"分割,只从右边分割一次,获取最后的路径
url = "http://www.test.com/page/page/12345"
# 从右边开始以"/"分割一次
result = url.rsplit('/', 1)
print(result)
# 取第二个元素
print(result[1])
['http://www.test.com/page/page', '12345']
12345
a = [1, 2, 3]
# 最后一个元素
print(a[-1])
3
a = [1, 2, 4, 5, 5, 7, 4, 9]
# 去重
a = list(set(a))
print(a)
[1, 2, 4, 5, 7, 9]
a = [1, 2, 3]
# 反转
b = a[::-1]
print(b)
[3, 2, 1]
from collections import Counter
a = ['a','a','b','b','b','c','d','d','d','d','d']
count = Counter(a)
print(count)
Counter({'d': 5, 'b': 3, 'a': 2, 'c': 1})
a = ['a', 'b', 'c']
print(','.join(a))
a,b,c
a = ['a', 'b', 'c']
for index,v in enumerate(a):
print(index, v)
0 a
1 b
2 c
l1 = [1, 2, 3, 4, 5]
l2 = [1, 2, 5, 6, 7, 8]
l = list(set(l1) & set(l2))
print(l)
[1, 2, 5]
a = [1, 2, 3, 4, 5]
first, *rest, last = a
print(first)
print(rest)
print(last)
1
[2, 3, 4]
5
a = [[1, 2], [3, 4]]
# 转成一级列表
b = [x for _list in a for x in _list]
print(b)
[1, 2, 3, 4]
l1 = [1, 2]
l2 = [3, 4]
# 方法1:合并列表成另外一个列表
l3 = l1 + l2
print(l3)
# 方法2:将列表2合并到列表1
l1.extend(l2)
print(l1)
[1, 2, 3, 4]
[1, 2, 3, 4]
l1 = ['a', 'b', 'c']
l2 = [1, 2, 3]
d = dict(zip(l1, l2))
print(d)
{'a': 1, 'b': 2, 'c': 3}
d = {"a": 3, "b": 4, "c": 2, "d": 1}
reversed_d = sorted(d.items(), key=lambda item: item[1])
print(reversed_d)
[('d', 1), ('c', 2), ('a', 3), ('b', 4)]
d = {'a': 1, 'b': 2}
# 若不存在,设置默认值
d.setdefault('c', 3)
print(d)
# 若已存在,不会更新
d.setdefault('b', 3)
print(d)
{'a': 1, 'b': 2, 'c': 3}
{'a': 1, 'b': 2, 'c': 3}
d = {'a': 1, 'c': 3}
print(d.get('c', 33))
# get方法,若键不存在,取后面的默认值
print(d.get('b', 33))
3
33
d = {1: 'a', 2: 'b', 3: 'c'}
invert_d = {v: k for k, v in d.items()}
print(invert_d)
{'a': 1, 'b': 2, 'c': 3}
d1 = {'a': 1, 'b': 2, 'c': 3}
d2 = {'b': 4, 'c': 3, 'd': 6}
# 公共键
print(d1.keys() & d2.keys())
# 公共键值对
print(d1.items() & d2.items())
{'c', 'b'}
{('c', 3)}
d1 = {'a': 1}
d2 = {'b': 2}
# 合并字典
d3 = {**d1, **d2}
print(d3)
{'a': 1, 'b': 2}
for i in [1, 2, 3]:
if i == 0:
break
else:
print("没有执行break")
没有执行break
i = 5
while i > 1:
print(i)
i -= 1
else:
# 注:当while有break,else下面的不会执行,这一点与For-Else不同,值得注意
print("循环结束")
5
4
3
2
循环结束
Python中处理错误异常可以简单采用try-except语句,其实还可以添加一个else语句,它是指在没有发生异常时,执行完try语句后运行的语句。此外,如果需要运行是否发现异常的都需要执行的代码,可以采用finally,示例如下:
a, b = 1,2
try:
print(a/b)
except Exception as _:
print(e)
else:
print("没有异常发生")
finally:
print("无论异常是否发生都会执行")
0.5
没有异常发生
无论异常是否发生都会执行
import os
os.path.basename(os.getcwd())
'fun_of_python'
以上就是整理的一些小技巧,希望对大家有所帮助,欢迎补充交流~