Python学习的第三次的总结
元组 #组内元素可读,不能被改变
tup1=() #空元组
tup2=(1,) #一个元素后添加逗号
嵌套列表
a = [[1,2,3],‘lyyyyy‘,4,(2,3,4)]
b = a[0] b[0] = 1 → a[0][0] = 1
小技巧
1、if s.isdigit():s = int(s) #判断为数字后,转换类型
2、for i in list:
print(list.index(i),i) #打印list中的索引值和对应的内容
3、for i,v in enumerate(列表,从第几个序列开始): print(i,v) #打印出需要的序列和对应的内容
4、len(s) #判断字符串的长短
5、print (‘I am %s‘%(变量名)) #使用占位符打印一行
6 、s.pop() #默认返回最后一个值,通常用来计数列表个数
7、[ ] 空列表可以充当购物车 id() #用来找地址
8、 for i in range(0,len(a)): #购买相同的物品数量输出
c=products_cart.count(a[i][0]) #遍历列表,计数
if c>=1:
print(a[i][0],”*”,c,end=”,”)
Ø购物车的实现
字典(唯一映射关系)
特点:1、无序储存 2、key必须是可哈希的(不可修改,唯一)
不可变类型:整形、字符串、元组
可变类型:列表、字典
操作方法:
1、增加
dic1 = {‘name‘:‘lyyy‘}
dic1 = [‘age‘] = 18
ret = dic1.setdefault(‘age‘,34) 结果:ret = {‘name‘:‘lyyy‘ , ‘age‘:18} #如果原有相同的key则不变更原有的值,反之则添加新的键值对
2、查找
dic1 = {‘name‘:‘lyyy‘}
print(dic1[‘name‘]) #通过key去查找
print(list(dic1.keys())) #查找所有的key,并以列表的形式展现
print(list(dic1.values())) #查找所有的值,并以列表的形式展现
print(list(dic1.items())) #查找所有的键值对,并以列表的形式展现
3、改
dic1 = {‘name‘:‘lyyy‘,‘height‘:168}
dic1 [‘name‘]= ‘yzqqqq‘ #取出来赋新值
dic1 = {‘name‘:‘lyyy‘,‘height‘:168}
dic2 = {‘name‘:‘yzzzzzq‘,‘gender‘:‘male‘}
dic1.update(dic2)
print(dic1) 结果:{‘name‘: ‘yzzzzzq‘, ‘height‘: 168, ‘gender‘: ‘male‘} #若用来添加的key和原有的key一样,则更新新值;若无相同的key,则补充进去
4、删除
dic1 = {‘name‘:‘lyyy‘,‘height‘:168}
del dic1[‘name‘] #删除该项 del dic1 #从内存中删除
dic1.clear() #清空
dic1.pop() #删除并返回相应值
a = dic1.popitem() print(a,dic1) #随机删除,并以元组的方式返回
5、其他
初始化
dic1 = dict.fromkeys([‘host1‘,‘host2‘],‘test‘)
print(dic1) 结果:{‘host1‘: ‘test‘, ‘host2‘: ‘test‘}
6、字典嵌套
guangdong_province={ ‘广州市‘:{ ‘天河区‘:{‘华农‘,‘华师‘,‘华工‘}, ‘海珠区‘:{‘广州塔‘,‘大剧院‘,‘广图‘}, ‘番禺区‘:{‘大学城‘,‘广州南站‘,‘美食街‘} }, ‘东莞市‘:{ ‘塘厦镇‘:{‘yzqDD家‘,‘yzq打球场‘,‘yzq剪头发地‘}, ‘虎门镇‘:{‘威远炮台‘,‘好吃的‘,‘食品学院plxjj的家‘} }, ‘湛江市‘:{ ‘霞山区‘:{‘ly靓女家‘,‘鼎盛广场‘,‘海滨公园‘}, ‘赤坎区‘:{‘金沙湾‘,‘一中‘,‘湛江博物馆‘}, ‘开发区‘:{‘二中‘,‘海关‘,‘海湾大桥‘} } }