蓝桥杯练习--输入输出格式、常用方法或函数、列表的操作、常用算法

1.输入输出格式

n = int(input())
k = float(input())
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.常用方法或函数

①split()
在这里插入图片描述
②chr() 返回当前整数对应的字符
ord() 把字符转换成整形
在这里插入图片描述
③decode()
decode() 方法以 encoding 指定的编码格式解码字符串。默认编码为字符串编码。
str.decode(encoding=‘UTF-8’,errors=‘strict’)
④encode()
encode() 方法以 encoding 指定的编码格式编码字符串。errors参数可以指定不同的错误处理方案。
str.encode(encoding=‘UTF-8’,errors=‘strict’)
⑤max() min() abs()求绝对值
在这里插入图片描述在这里插入图片描述
⑥list(range(n))
在这里插入图片描述
⑦int(m) 把m转化成整型 str(m)转成字符串 len()
在这里插入图片描述在这里插入图片描述

⑧保留小数点位数
在这里插入图片描述
⑨map() 会根据提供的函数对指定序列做映射。第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。

def square(x):
    return x**2
lst1 = list(map(square,[1,2,3,4,5]))
print(lst1)
lst2 = list(map(lambda x: x**2 ,[1,2,3,4,5]))
print(lst2)

在这里插入图片描述
⑩sorted()
sort()与sorted()区别:
sort() 在list上的方法,对已经存在的列表进行操作,没有返回值
sorted() 可以对所有可迭代的对象进行排序,返回的是一个新的list

a = [5,7,6,3,4,1,2]
b = sorted(a)
print(b) #[1, 2, 3, 4, 5, 6, 7]

L =[('b',2),('a',1),('c',3),('d',4)]
L1 = sorted(L,key=lambda x:x[0])#利用key
print(L1) #[('a', 1), ('b', 2), ('c', 3), ('d', 4)]

stu = [('john','c',15),('jane','a',12),('dave','b',10)]
stu1 = sorted(stu,key=lambda s:s[1])
print(stu1) #[('jane', 'a', 12), ('dave', 'b', 10), ('john', 'c', 15)]

stu2= sorted(stu,key = lambda s:s[2],reverse=True)
print(stu2) [('john', 'c', 15), ('jane', 'a', 12), ('dave', 'b', 10)]

进制转换
hex() 十进制转化为十六进制
oct() 十进制转化为八进制
bin() 十进制转化为二进制

3.对列表的操作

切片:
list[m:n] 从list的索引m开始,到索引n的前一个值
list1=list[::-1] 表示list1是list的逆序
‘’.join(list) 把list中的元素合成一个字符串
在这里插入图片描述
list.append() 增加
在这里插入图片描述
list.insert() 插入
在这里插入图片描述
list.pop() 取出列表最后一个元素, 并且返回
在这里插入图片描述
list.remove() 如果元素不存在会报错;如果被删除的元素在列表中有多个,只删最前面的那一个
在这里插入图片描述

4.常用算法

①选择排序

lst=[80,40,95,20,15,70]
"""
    选择排序两两进行比较,选择最小的数字进行调换
"""
for x in range(len(lst)-1): #需要进行调换的次数
    for y in range((x+1),len(lst)):
        if lst[x]>lst[y]: #找出最小的,进行交换位置
            lst[x],lst[y]=lst[y],lst[x]
print(lst)#[15, 20, 40, 70, 80, 95]

②冒泡排序

s=[80,40,95,20,15,70]
"""
    冒泡: 每一轮相邻数字交换位置  小数在前大数在后  
            第一轮比较之后 最大的数字已经下沉的最底  
"""
for x in range(len(s)-1):
    for y in range(len(s)-1-x):
        if s[y]>s[y+1]:
            s[y],s[y+1]= s[y+1],s[y]
print(s)#[15, 20, 40, 70, 80, 95]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值