一、列表的研究(续)
1、list.remove(’’)
删除首个符合指定条件的元素
2、del list[x]
根据列表下标删除,如果没有该下标元素,则报错
3、list.pop()
删除列表中的最后一位元素,并返回被删除的值
二、练习
1、找出列表中的数字部分的最大值与最小值
list1 = [1,2,3,5,7,'a','1',[1,8]]
list2 = []
for i in list1:
if type(i)==int:
list2.append(i)
lmax=list2[0]
lmin=list2[0]
for i in list2:
if i>lmax:
lmax=i
if i<lmin:
lmin=i
print('max:',lmax)
print('min:',lmin)
2、统计乱打的字符串中每个字母出现的次数
str1 = 'sdahfusafoauhebudbugadohdgandgkauggbukdfj'
for i0 in range(0,26):
a0=chr(ord('a')+i0)
print('%s:%s'%(a0,str1.count(a0)))
3、有1,2,3,4这几个数,能够组成多少个不重复的三位数,并展示
list1=[1,2,3,4]
list2=[]
a=0
for i in list1:
for j in list1:
for k in list1:
a+=1
list2.append(i*100+j*10+k)
print('共有%d个三位数'%a)
print(list2)
4、一个球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第十次反弹多高?
while 1:
try:
a=int(input('请输入次数:'))
except:
pass
l=0
h=100
for i in range(0,a):
l+=2*h
h=h/2
print('第%d次反弹高度:%f米'%(a,h))
print('第%d次落地时经过的路程:%f米'%(a,l-100))
5、列表的逆转
list1=[1,2,3,'a','b','c',1,2,3]
list2=[]
a=len(list1)
b=a
for i in range(0,a):
b-=1
list2.append(list1[b])
print(list2)
list1.reverse()
print(list1)
print(list1[::-1])
6、列表去重
list1=[1,2,3,'a','b','c',1,2,3]
list2=list1
for i in list1:
if list2.count(i)>=2:
list2.remove(i)
print(list2)
list1=[1,2,3,'a','b','c',1,2,3]
list2=[]
for i in list1:
if i not in list2:
list2.append(i)
print(list2)
三、字典 dict
键值结构key_value,字典是无序的
1、dict1.values()
取出字典中所有值
2、dict1.keys()
取出字典中所有键名
3、dict1[‘name’]
获取指定键值对应的值
4、dict1.get(‘123’,‘name’)
获取指定键名的值,如果不存在则返回None,如果存在则返回自定义的默认值
5、dict1[‘name123’]
键名存在则修改该键名对应的值,如果不存在则在字典中添加该键值结构
6、del dict1[‘name123’]
如果键名不存在则报错,如果存在则删除指定键名和对应值
7、dict1.clear()
清空字典
8、del dict1
删除整个字典