列表操作

示例:

lt1 = [1, 2, 3]
lt2 = [4, 5, 6]

# 拼接
print(lt1 + lt2)
# 重复若干次
print(lt1 * 2)
# 可以从前向后获取元素,下标从0开始
# 可以从后向前获取元素,下标从-1开始
print(lt1[0], lt1[-1])
# 切片操作
print(lt1[1:2])

lt3 = [1, 2, 3]
# 元素设置
lt3[0] = 250
# 追加元素
lt3.append(4)
lt3.append([5, 6])
# 扩充元素
lt3.extend([200, 8, 200])
# 插入元素
lt3.insert(3, 200)
# 删除元素,根据下标
del lt3[5]
# 删除元素,根据值,只会删除第一次出现的元素
lt3.remove(200)
# 弹出并删除 按照下表进行弹出
ret = lt3.pop(0)
print(ret)
# 查询元素在列表中的下标(第一次出现)
print(lt3.index(200))
# 统计元素出现的次数
print(lt3.count(200))
# 逆序
lt3.reverse()
# 排序,默认升序,参数reverse可以设置降序
lt3.sort(reverse=True)
# 清空
lt3.clear()
print(lt3)

字符串的函数

islower 判断字符串中的字符是否全是小写
isnumeric 判断字符串是否只包含数字
join(seq) 以指定的字符串为分隔符 将seq中的所有元素合并成一个新的字符串
maketrans() 转换两个字符串
replace(old,new [,max]) 将第一个字符替换成第二个字符 如果max指定则替换不超过max次
swapcase 将字符串中的大小写转换
translate(table, deletechars='') 根据table 转换字符 要过滤的字符放到deletechars中

系统函数

示例:math

# input、print、len、abs、id、isinstance、type

求最大值:参数可以是多个元素,也可以是一个序列
print(max(1, 2, 3))
print(max([1, 2, 3]))
# 求最小值
print(min(1, 2, 3))
print(min([1, 2, 3]))
# 求和:参数只能是一个序列
print(sum([1, 2, 3]))
# 四舍五入:默认取整,若指定小数位数可以使用第二个参数
print(round(3.14, 1))

# 数学模块
import math

print(math.pi)
print(math.e)
# 向上取整
print(math.ceil(3.1))
# 向下取整
print(math.floor(3.9))
# 开方
print(math.sqrt(4))
# 度转弧度
print(math.radians(360))
# 弧度转度
print(math.degrees(math.pi))

random模块

示例:

import random

# 生成指定范围内的随机整数
print(random.randint(0, 100))

# 生成指定范围内的随机小数
print(random.uniform(0, 10))

# 生成0~1之间的随机小数
print(random.random())

# 从指定的元素中挑选一个元素
print(random.choice([1, 2, 3, 4, 5, 6]))
print(random.choice('abcdefghijklmn'))

# 从指定的序列中挑选指定个数的元素,返回挑选元素组成的列表
print(random.sample([1, 2, 3, 4, 5, 6], 2))
print(random.sample('abcdefghijklmn', 2))

# 从指定序列中挑选一个元素,返回列表,
# 相当于sample方法挑选一个元素的情况
print(random.choices([1, 2, 3, 4, 5, 6]))
print(random.choices('abcdefg'))

lt = [1, 2, 3, 4, 5]
# 打乱列表顺序
random.shuffle(lt)
print(lt)

集合操作

示例:

s1 = {1, 2, 3}

# 添加
s1.add(4)

# 删除:元素存在则删除,不存在则报错
# s1.remove(5)
# 删除:元素存在则删除,不存在也不报错
s1.discard(5)

# 弹出元素:随机弹出
print(s1.pop())

# 清空
s1.clear()

print(s1)

s1 = {'小韩', '小静', '小刘'}
s2 = {'小孙', '小孟', '小刘'}

# 交集:不会改变原集合
# print(s1.intersection(s2))

# 用交集更新原集合
# s1.intersection_update(s2)

# 并集
# print(s1.union(s2))

# 差集:不会改变原集合
# print(s1.difference(s2))

# 使用差集更新原集合
# s1.difference_update(s2)

# print(s1)

# 判断是否没有交集
print(s1.isdisjoint(s2))

# 判断是否是另一集合的子集
print(s1.issubset(s2))

# 判断是否是另一集合的超集
print(s1.issuperset(s2))

字典操作

示例:

d = {'name': 'dahua', 'age': 18}

# 根据键获取值,当键不存在时会报错
print(d['name'])

# 根据键获取值,键存在返回对应的值,不存在默认返回None,可以指定默认值
print(d.get('xxx', '默认值'))

# 根据键返回值,键存在返回对应的值,不存在则添加键值对,返回指定的值
print(d.setdefault('weight', 90))

# 修改元素:键存在则修改,不存在则添加
d['name'] = 'ergou'
d['height'] = 180
# 更新字典:存在的覆盖,不存在的添加
d.update(age=20, weight=80)
d.update({'minzu': '汉', 'age': 30})

# 删除
del d['age']
# 根据键弹出值
print(d.pop('minzu'))
# 弹出键值对组成的元组
print(d.popitem())

# 清空
d.clear()

print(d)

字符串操作

切割与拼接

s = 'I love you more i can say'

# 默认按照空白进行切割
# ret = s.split()
# 可以指定切割内容,切不开得到一个元素的数组
# ret = s.split(sep='o')
# 可以指定切割次数
# ret = s.split(maxsplit=1)
# 从右边开始切割
ret = s.rsplit(maxsplit=1)
print(ret)

s = 'hello\nworld'

# 按照换行进行切割
print(s.splitlines())

lt = ['how', 'are', 'you']

# 字符串拼接
print('*'.join(lt))
查找统计

s = 'Hi buddy! If you have something to say, then say; If you have nothing to say, then go!'

# 返回子串首次出现的下标
print(s.find('you'))
# 找不到返回-1
print(s.find('ergou'))

# 功能同上,从右侧开始查找
print(s.rfind('If'))

# 统计子串出现的次数
print(s.count('to'))

# 是否以指定内容开头
print(s.startswith('Hi'))
# 是否以指定内容结尾
print(s.endswith('xxx'))