python学习暂时笔记-20180208
一、tuple元组学习
1.元组选取同列表一样
2.元组只能读取,不能修改,例如:
1 a = (1,4,5,3,7) 2 a[1]=10 3 print(a)
输出结果为:
1 TypeError: 'tuple' object does not support item assignment
所以元组的使用场景为,当我们写程序时,某些数据不想被用户修改时就可以使用元组;
二、字典学习
1.不可变类型:整型、字符串、元组
2.可变类型:列表、字典
3.字典是无序的,键只能用不可变类型表示,键唯一
4.字典的操作
1 dic = {'name':'swc','age':'18'} 2 print(dic)
(1.1)增加:1
1 dic = {'name':'swc','age':'18'} 2 dic['hobby']='girl' 3 print(dic)
输出结果:
1 {'name': 'swc', 'hobby': 'girl', 'age': '18'}
(1.2)增加:2
1 dic = {'name':'swc','age':'18'} 2 dic.setdefault('age',40) 3 print(dic)
输出结果:
1 {'name': 'swc', 'age': '18'}
说明setdefault()在修改字典中已经存在的键值时是不起作用的
1 dic = {'name':'swc','age':'18'} 2 dic.setdefault('hobby','girl') 3 print(dic)
输出结果:
1 {'name': 'swc', 'hobby': 'girl', 'age': '18'}
并且setdefault是有返回值的,先进行修改,然后将值返回
(2)查找:
1 dic = {'name':'swc','age':'18'} 2 dic.setdefault('hobby','girl') 3 print(dic) 4 c = dic.values() 5 d = dic.keys() 6 e = dic.items() 7 print(c) 8 print(d) 9 print(e)
输出结果:
1 {'name': 'swc', 'age': '18', 'hobby': 'girl'} 2 dict_values(['swc', '18', 'girl']) 3 dict_keys(['name', 'age', 'hobby']) 4 dict_items([('name', 'swc'), ('age', '18'), ('hobby', 'girl')])
values是用来查找所有的键值,keys是用来查找所有的键,items是用来查找字典中的所有元素
(3.1)改:
1 dic = {'name':'swc','age':18,'hobby':'girl'} 2 dic['age']=30 3 print(dic)
输出结果:
1 {'age': 30, 'name': 'swc', 'hobby': 'girl'}
(3.2)改:
1 dic1 = {'name':'swc','age':18,'hobby':'girl'} 2 dic2 = {'name':'laowang','age':30,'salary':10000} 3 dic1.update(dic2) 4 print(dic1)
输出结果:
1 {'salary': 10000, 'hobby': 'girl', 'age': 30, 'name': 'laowang'}
(4.1)删:
删除某个键
1 dic1 = {'name':'swc','age':18,'hobby':'girl'} 2 del dic1['name'] 3 print(dic1)
输出结果:
1 {'hobby': 'girl', 'age': 18}
(4.2)删:
清空字典
1 dic1 = {'name':'swc','age':18,'hobby':'girl'} 2 dic1.clear() 3 print(dic1)
输出结果:
1 {}
(4.3)删:
对删除的值进行返回
1 dic1 = {'name':'swc','age':18,'hobby':'girl','salary':10000} 2 #按照指定键删除 3 a = dic1.pop('name') 4 #随机删除 5 b = dic1.popitem() 6 print(dic1) 7 print(a) 8 print(b)
输出结果:
1 {'salary': 10000, 'hobby': 'girl'} 2 swc 3 ('age', 18)
(5)其他操作:
按照指定样式形成一个字典:
1 dic5= dict.fromkeys(['name1','name2','name3'],'laowang') 2 print(dic5)
输出结果:
1 {'name3': 'laowang', 'name2': 'laowang', 'name1': 'laowang'}
字典嵌套:
1 av_catalog = { 2 "欧美":{ 3 "www.youporn.com": ["很多免费的,世界最大的","质量一般"], 4 "www.pornhub.com": ["很多免费的,也很大","质量比yourporn高点"], 5 "letmedothistoyou.com": ["多是自拍,高质量图片很多","资源不多,更新慢"], 6 "x-art.com":["质量很高,真的很高","全部收费,屌比请绕过"] 7 }, 8 "日韩":{ 9 "tokyo-hot":["质量怎样不清楚,个人已经不喜欢日韩范了","听说是收费的"] 10 }, 11 "大陆":{ 12 "1024":["全部免费,真好,好人一生平安","服务器在国外,慢"] 13 } 14 } 15 16 av_catalog["大陆"]["1024"][1] += ",可以用爬虫爬下来" 17 print(av_catalog["大陆"]["1024"]) 18 #ouput 19 ['全部免费,真好,好人一生平安', '服务器在国外,慢,可以用爬虫爬下来']
输出结果:
['全部免费,真好,好人一生平安', '服务器在国外,慢,可以用爬虫爬下来']
字典排序:
1 dic = {5:'swc',9:'laowang',3:'nike'} 2 print(sorted(dic.items()))
输出结果:
[(3, 'nike'), (5, 'swc'), (9, 'laowang')]
重点:字典的遍历
1 #方法1 2 for key in info: 3 print(key,info[key]) 4 5 #方法2 6 for k,v in info.items(): #会先把dict转成list,数据里大时莫用 7 print(k,v)