蓝桥杯Python组常用函数

目录

一、输入数据

二、内置函数

三、字符串方法

四、列表、字典、集合

五、队列

六、datetime模块

七、itertools模块

八、math模块

九、格式化输出


参加蓝桥杯时整理的一些常用的库和函数

一、输入数据

a = input()    # 输入一个数据,返回值为字符串类型
a = int(input())    # 输入一个数据,返回值被转换成整数类型
a = list(map(int, input().split()))    # 一行输入多个元素,传给一个变量
# input()返回值为一个字符串,split()将字符串分开,map将每一个字符转换为int型,整个式子最终返回值为一个列表
a = [int(i) for i in input().split()]    # 上式的另一种写法
a = ‘’.join(map(str, a)    # 将列表/数组转为字符串
# join()函数只能对字符类型操作,所以需先用map()将列表中每个元素转为字符类型,即
# ' '.join(list(map(str,a)))
a, b, c = map(int, input().split())    # 一行输入多个元素,传给不同变量

二、内置函数

int(x, 2)    # 将x由二进制转为十进制,其它进制转十进制类似
bin(x)    # 其它进制转二进制
oct(x)    # 其它进制转八进制
hex(x)    # 其它进制转十六进制
round(number, digits)    # 对数字number四舍五入保留digits位小数,四舍,五不进,六入
abs(x)    # 取绝对值
chr(x)    # 将整数转换成该编码对应的字符
ord(x)    # 将字符转换成对应的编码整数
enumerate()    # 迭代器,返回index和value,可用于循环遍历或查找
set(x)    # 将x转化为集合,即去重
len(s)    # 求长度

三、字符串方法

s.swapcase()   # 将字符串中所有字母的大小写都反转
s.upper()   # 将字符串所有的字母都转换为大写
s.lower()   # 将字符串所有的字母都转换为小写
s.join(iterable)    # 返回被子字符串iterable连接的子字符串
s.split("")    # 按照指定字符将字符串拆分成序列
s.strip()    # 将字符串开头和末尾的空白删除,返回删除后的结果
s.find(str, beg = 0, end = len(string))    # 查找子串str,从beg开始检索,到end结束
s.replace(old, new, count)    # 将old替换成new,count为替换的字符数,返回新的字符串

# 以下不常用
s.isdigit()   # 检查字符串中的字符是否都是数字
s.isnumeric()   # 检查字符串中的所有字符是否都是数字字符
s.capitalize()   # 返回字符串的副本,但将第一个字符大写
s.isalpha()   # 检查字符串中的所有字符是否都是字母
s.isalnum()   # 检查字符串中的字符是否都是字母或数
s.isspace()   # 检查字符串中的字符是否都是空白字符

四、列表、字典、集合

a.append(obj)    # 在列表后面添加元素obj
a.pop(index)    # 删除索引元素,如无索引,则删除列表末尾元素
a.remove(obj)    # 删除元素,如果有重复,只删除第一个,如果元素不存在会报错
a.count(obj)    # 返回某个元素在列表里面的个数
a.extend(b)    # 在列表a后面添加列表b
a.index(obj)    # 返回元素在列表中的第一个位置
a.insert(index, obj)    # 将指定对象插入列表的指定位置,index是对象obj需要插入的索引位置
a.sort()    # 由小到大排序
a.reverse()    # 将列表进行翻转
a.clear()     # 清除列表元素
a = [i ** 2 for i in range(10)]    # 生成一个一维数组 [0, 1, 4, 9..., 100]
a = [[0] * K for i in range(N)]    # 生成一个N行K列的二维数组
a.keys()    # 返回字典的所有键组成的一个视图对象(不是列表)
a.values()    # 返回字典的所有值组成的一个视图对象(不是列表)
a.items()    # 返回字典的所有键和值组成的元组组成的一个视图对象(不是列表)
a[value]    # 访问key的value值
a.get(key)    # 访问value的key值
a.pop(key)    # 删除该键值对,并返回该key的value值
a.popitem()    # 移出字典中最后的键值对并返回该键值对组成的一个元组
# sort(key = None,reverse = False)只能对list操作,且在原列表上排序
# sorted(iterable, key = None, reverse = False)可以对所有的可迭代对象进行排序操作,并且不改变原列表,产生一个新列表
sorted(a, key = lambda x:x[0], reverse = True)    # 结合使用
a.add(x)    # 添加一个元素
a.update(list)   # 添加多个元素
a.remove(x)    # 删除元素
set1 & set2    # 求交集
set1 | set2    # 求并集
set2 - set1    # 求差集

五、队列

1.普通队列queue

from queue import *    # 导入
q = Queue()    # 创建
q.put()    # 从队尾插入
q.get()    # 从队头删除,并返回
q.qsize()    # 返回队列长度
q.empty()    # 判断队列是否为空

2.双端队列deque

from collections import deque    # 导入
q = deque()    # 创建
q.append()    # 入队,从队尾插入
q.appendleft()    # 入队,从队头插入
q.pop()    # 出队,从队尾删除,并返回该值
q.popleft()    # 出队,从队头删除,并返回该值
len(q)    # 返回队列长度
if q     # 判断队列是否为空

六、datetime模块

import datetime    # 导入模块
from datetime import datetime, timedelta    # 导入模块
a = datetime.date(2023, 4, 5)    # 输入一个日期
a = datetime(2023, 4, 5)    # 输入一个日期
b = datetime.timedelta(days = 1)    # 输入时间间隔,还可以用weeks/hours,默认为 1 day
c = a + b    # c : 2023-4-6
a.weekday()    # 返回星期数,从0开始
a.isoweekday()    # 返回星期数,从1开始
a.toordinal()    # 返回公元公历从开始到现在的天数
a.datetime.date.today()    # 返回今天日期
a.__format__('%Y/%m/%d')    # 按指定格式输出日期,该式返回值:2023/4/5

七、itertools模块

from itertools import *    # 导入
permutations(iterable, n)    # 连续返回由iterable元素生成的长度为n的排列情况
combinations(iterable, n)    # 连续返回由iterable元素生成的长度为n的组合情况

八、math模块

import math    # 导入
math.pi    # 圆周率
math.e    # 自然对数
math.pow(x, y)    # 返回x的y次幂
math.exp(x)    # 返回e的x次幂
math.sqrt(x)    # 对x开方
math.gcd(x, y)    # 返回x和y的最大公约数

九、格式化输出

'{}'.format(a)    # 一般形式

# 1.通过关键字格式化
print('{name} is {age} years old.'.format(name = 'xiaoming', age = 10))
# 输出:xiaoming is 10 years old.

# 2.通过关键字格式化
print('{0} is {1} years old.'.format('xiaohong', '10'))
# 输出:xiaohong is 10 years old.

# 注意占位符要在引号内,引号外直接跟 %变量
>>> print('%o' % 20)    # %o:八进制
24
>>> print('%d' % 20)    # %d:十进制
20
>>> print('%x' % 20)    # %x:十六进制
14
>>> print('%#x' % 20)    # 加"#"保留前缀
14

# "-"表示左对齐
# %2.3f 表示宽度为2,保留小数点后三位
# %s 可以将任何数据转换为字符串
  • 16
    点赞
  • 127
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值