增删改
attend()用于列表的合并,将两个列表合并为一个列表
# 创建并初始化Guests列表
guests = []
while True:
try:
guest = input()
guests.append(guest)
except:
break
# 可以无限输入 直到主动停止运行
排序
切片
排序
sort与sorted的区别
List.sort(key=None,reverse=False)
- key:排序依据,通常为函数名,如 abs、str.lower、str.upper 等;或以函数指定可迭代对象中的某个元素来进行排序。
- reverse:排序规则,reverse=True 降序, reverse=False 升序(默认)
sorted(iterable,key=None,reverse=False)
- iterable:排序对象,如字符串,列表,元组,字典等可迭代对象。
- key:排序依据,通常为函数名,如 abs、str.lower、str.upper 等;或以函数指定可迭代对象中的某个元素来进行排序。
- reverse:排序规则,reverse=True 降序, reverse=False 升序(默认)
二者的主要区别是:sort() 是应用在列表上的方法,是对已经存在的列表进行排序操作并覆盖,无返回值;sorted() 则可以对所有可迭代的对象进行排序操作,返回的是一个新的列表,而不是在原来的基础上进行的操作。
匿名函数
- sort() 和sorted() 函数中,key=lambda x:x[] 即表示待排序对象按第多少维度进行排序。其中 x 可以为任意字母,方括号 [] 内为维数,根据需要设置
动物重量排序
ls1 = []
while True:
element = input().split()
if len(element) != 0:
ls1.append(element)
else:
break
ls2 = sorted(ls1, key=lambda x:float(x[1][:-1])*1000 if x[1][-1]=='t' else float(x[1][:-2]))
print(ls2)
- 输入:
北极熊 0.75t
企鹅 35kg
海豹 0.35t
白鲸 1.35t - 输出:
[[‘企鹅’, ‘35kg’], [‘海豚’, ‘228kg’], [‘海豹’, ‘0.35t’], [‘北极熊’, ‘0.75t’], [‘白鲸’, ‘1.35t’]] -
split
当没有参数的情况下,函数默认会以空格,回车符,空格符等作为分割条件。
a="my name is zhangkang"
b="my\nname\nis\nzhangkang"
c="my\tname\tis\tzhangkang"
a=a.split()
b=b.split()
c=c.split()
print(a)
print(b)
print(c)
输出:
['my', 'name', 'is', 'zhangkang']
['my', 'name', 'is', 'zhangkang']
['my', 'name', 'is', 'zhangkang']
函数会以参数为分割条件,把字符串进行分割,得到的每个分割段作为列表的元素返回。
d="my,name,is,zhangkang"
e="my;name;is;zhangkang"
f="my-name-is-zhangkang"
d=d.split(",")
e=e.split(";")
f=f.split("-")
print(d)
print(e)
print(f)
输出:
['my', 'name', 'is', 'zhangkang']
['my', 'name', 'is', 'zhangkang']
['my', 'name', 'is', 'zhangkang']
第二个参数的意思是你想分多少次,b1,b2,b8都好理解。有人可能会问b9那个是怎么回事,最大只能分成9段呀,分8次就行了。没错,但是当分第8次的时候,最后一个分割段是”student”,再对“student”进行条件为“,”分割的时候是分不了的,也就是说还是原来的字符串不动。意思就是第二个参数值超过最大分割次数其实是没有意思的,不过程序不会报错!
a="My,name,is,zhangkang,and,I,am,a,student"
b1=a.split(",",1)
b2=a.split(",",2)
b8=a.split(",",8)
b9=a.split(",",9)
print(b1)
print(b2)
print(b8)
print(b9)
输出:
['My', 'name,is,zhangkang,and,I,am,a,student']
['My', 'name', 'is,zhangkang,and,I,am,a,student']
['My', 'name', 'is', 'zhangkang', 'and', 'I', 'am', 'a', 'student']
['My', 'name', 'is', 'zhangkang', 'and', 'I', 'am', 'a', 'student']