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)
View Code

(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)

 

posted on 2018-02-08 13:21  加州牛肉面  阅读(122)  评论(0编辑  收藏  举报

导航