30个Python代码编写简便小技巧(一)
1.计算2的3次方
a = 2**3
print(a)
a = pow(2, 3)
print(a)
2.查找最大最小值
l = ['1', '2', '3']
b = max(l)
print(b)
b = min(l)
print(b)
3.合并序列中的元素
l = ['张', '三', '李', '四']
j = "".join(l)
print(j)
4.字符串中找字串
ss = "abcdefghijkl"
s = ss.find('b')
print(s)
5.字符串中首字母大写
ss = "abc def ghi jkl"
s = ss.title()
print(s)
import string
s = string.capwords(ss)
print(s)
6.清空列表
l = ['1', '2', '3']
print(l.clear())
s = l[:]
print(s)
7.统计某元素个数
l = ['1', '2', '2']
print(l.count('2'))
8.列表末尾添加元素
l = ['1', '2', '2']
j = ['3', '4']
l.extend(j)
print(l)
9.查找元素第一次出现的索引
l = ['1', '2', '2']
print(l.index('2'))
10.列表插入元素
l = ['1', '2', '2']
l.insert(2, '3')
print(l)
11.列表删除元素
l = ['1', '2', '2', '3']
l.pop() # 删除末尾
print(l)
l.pop(1) # 删除指定位置
print(l)
l.remove('1') # 删除指定元素
print(l)
12.列表按相反方向排列
l = ['1', '2', '2', '3']
l.reverse() # l[::-1]
print(l)
13.包含一个元素的元组
t = (1,)
14.替换字符串中的元素
ss = "abc def ghi jkl"
s = ss.replace('jkl', 'mn')
print(s)
15.把字符串按照空格进行拆分
ss = "abc def ghi jkl"
s = ss.split()
print(s)
16.去除字符串首位的空格
ss = " abc def ghi jkl"
s = ss.strip()
print(s)
17.给字典中不存在的key指定默认值
dc = {'NO': 1, 'name': 'chen', 'age': 23}
d = dc.get('s', 'm')
print(d)
18.快速求 1 到 100 所有整数相加之和
print(sum(range(1, 101)))
19.快速启动浏览器打开指定网站
import webbrowser
webbrowser.open('http://www.baidu.com')
20.占位符:用pass占位,当你还没想好代码块的逻辑时,你需要运行代码调试其他功能
name = '⼩明'
if name == '⼩明':
print('听我的')
elif name == '⼩花':
pass
21.给函数编写文档
def square(x):
"""返回值的平方"""
return x*x
square.__doc__
22.定义私有方法
class humen:
def __name(self):
print("pravate")
23.判断一个类是否是另一个类的子类
class A:
pass
class B(A):
pass
print(issubclass(B,A))
24.从一个非空序列中随机选择一个元素
import random
s = random.choice(['1', '2', '3', '4', '5'])
print(s)
25.集合运算
a = {1, 2, 3}
b = {2, 3, 4}
l = a.union(b) # 并集方法
print(l)
l = a | b # 并集按位或方法
print(l)
m = a.intersection(b) # 交集方法
print(m)
m = a & b # 交集按位与方法
print(m)
n = a.symmetric_difference(b) # 不相交元素
print(n)
n = a ^ b # 两个集合不重复元素
print(n)
k = a.difference(b) # 求两个集合的差集
print(k)
k = a - b # 求两个集合的差集
print(k)
26.从一个序列中随机返回 n 个不同值的元素
import random
h = ['1', '2', '3', '4', '5', '6']
g = random.sample(h,3)
print(g)
27.生成两个数之间的随机实数
a = random.uniform(1, 2)
print(a)
b = random.randrange(0, 50, 5) # 在等差数列中随机选择⼀个数
print(b)
28.文件读写
with open("wenyang.txt", 'w') as w:
w.write("hello word!!!")
with open("wenyang.txt", 'r') as r:
print(r.read())
29.把程序打包成 exe 文件/.app文件
exe:
⽤ Setuptools ⾥的 py2exe 库
app:
1)安装py2app
2)py2applet --make-setup Demo.py(带文件目录) 完成显示生成setup.py
30.执行操作系统命令
import os
os.system("命令行命令")
31.将当前时间转为字符串
import time
t = time.asctime()
print(t)
32.随机打乱列表的顺序
t = list(range(10))
random.shuffle(t)
print(t)
33.把字符串变成Unicode码位
ss = "*&%^#@!"
code = []
for s in ss:
code.append(ord(s))
print(code)
34.打印出两个列表的笛卡尔积
a = ['a', 'aa', 'aaa']
b = ['b', 'bb', 'bbb']
for ts in ('%s %s'%(c, d) for c in a for d in b):
print(ts)
import itertools
ts = list(itertools.product(a, b))
print(ts)
35.用for循环提取元素时,对于不想接收的元素,可以用占位符_接收
a = [('a', 'aa'), ('aa', 'a')]
for i, _ in a:
print(i)
36.用*args接收不确定值或参数
a, b, *c = range(5)
print(a, b, c)
37.用切片倒序&查看列表
a = 'abcdefg'
print(a[::-1])
print(id(a))
38.原序列排序sort()和新建序列排序sorted(), 其中降序将参数reverse默认值为 False
a = [2, 5, 3, 7, 1]
k = sorted(a)
print(a)
j = a.sort()
print(a)