python3笔记3--容器的使用(2)

python3笔记–容器的使用(2)

一、字典

字典是一种可变的容器模型,且可存储任意类型的对象。字典的每个键值key与value对之间用冒号(:)进行分割。每个对之间用(,)分割。整个字典包含在花括号({})之中。格式如下所示:

dict = {key1:value1,key2:value2,key3:value3}

字典中的key值是唯一的,但是value则不一定。value值可以是任意数据类型的,但是key键是不可变的。

1、访问字典

persons = {'alice':20,'tom':21,'rose':18}
print('Alice:', persons['alice'])
print('Tom:' , persons['tom'])

输出:

Alice: 20
Tom: 21

2、添加键-值对

字典是一种动态的结构,可以随时在字典中添加键-值对。要添加键-值对,可以指定字典名添加键和相关联的值。

persons = {'alice':20,'tom':21,'rose':18}
persons['edison'] = 26	#指定persons字典名,添加key和相关联的值
print(persons)

输出:{'alice': 20, 'tom': 21, 'rose': 18, 'edison': 26}

3、修改字典的值

修改字典的值,直接指定字典中key然后修改即可。

persons = {}	#创建空字典
'''向字典里边添加键-值对'''
persons['alice'] = 20
persons['tom'] = 23
persons['edison'] = 26
print('修改前的字典:' , persons)
persons['alice'] = 15	#修改字典中alice相关联的值
print('修改后的字典:' , persons)

输出:

修改前的字典: {'alice': 20, 'tom': 23, 'edison': 26}
修改后的字典: {'alice': 15, 'tom': 23, 'edison': 26}

4、删除键-值对

对于不需要的键-值对,可以使用del语句删除,只需指定key值即可。但是需要注意的是删除之后的键-值永远的消失了。

persons = {'alice':20,'tom':21,'rose':18}
del persons['alice']	#使用del语句删除不需要的键-值对
print(persons)

输出:

{'tom': 21, 'rose': 18}

5、嵌套使用

①字典列表:将字典名存储在一个列表中。

persons_1 = {'alice':20,'tom':21,'rose':18}
persons_2 = {'edison':14,'dijkstra':26}

person = [persons_1,persons_2]	#将字典名存储在列表中方便管理

print(person)	

输出:

[{'alice': 20, 'tom': 21, 'rose': 18}, {'edison': 14, 'dijkstra': 26}]

②字典中存储列表

在某些情况下,需要将列表存储在字典中,例如alice的爱好一定不止一个,此时就需要将爱好以列表的形式存储在字典中。

person = {'name':'alice','hobby':['play games','basketball']}
print(person['name'])
print(person['hobby'])

输出:

alice
['play games', 'basketball']

③在字典中存储字典

例如在某网站需要存储访问用户的信息,此时可使用字典中嵌套字典的形式。

'''在字典中嵌套字典'''
persons = {
    'user_1' : {
        'name':'alice',
        'age':21,
        'place':'paris'
        },
    'user_2' : {
        'name':'tom',
        'age':22,
        'place':'chinese'
        },
    'user_3' : {
        'name':'rose',
        'age':18,
        'place':'idera'
        }
    }
print(persons['user_1'])
print(persons['user_2'])
print(persons['user_3'])

输出:

{'name': 'alice', 'age': 21, 'place': 'paris'}
{'name': 'tom', 'age': 22, 'place': 'chinese'}
{'name': 'rose', 'age': 18, 'place': 'idera'}

二、集合

集合(set)是一个无序的不重复的元素序列。可以使用大括号{}或者set()函数创建集合,需要注意的是创建一个空的集合必须使用set()创建而不是使用大括号{}创建,因为大括号{}是创建一个空字典。

创建格式:

parame = {value1,value2,…}或者set(value)

1、添加元素

①使用add()方法,直接将元素添加至集合中。

②使用update()方法添加元素,update()可以添加多个元素,并且参数可以是列表,元组,字典等。

value = set( )	#创建空的集合
'''使用add()方法添加元素至集合'''
value.add(1)	#使用add()方法添加元素至集合中
value.add(2)
'''使用update()方法添加元素至集合'''
dict1 = {'name':'alice'}
dict1 = {'name':'alice'}
value.update(dict1)	#添加字典
list1 = ['tom','rose']
value.update(list1)	#添加列表
tuple1 = ('edison','dick')
value.update(tuple1)	#添加元组
print(value)

输出:{1, 2, 'tom', 'dick', 'name', 'edison', 'rose'}

注:此时不是将字典的键-值对添加值集合中,集合只保存key

2、移除元素

①使用remove()方法,将元素从集合中移除,如果元素不存在,则会发生错误。

②使用discard()方法,将元素从集合中移除,如果元素不存在,也不会发生错误。

value = {'tom','rose','alice','edison'}
print(value)
'''使用remove()方法删除集合元素'''
value.remove('tom')
print(value)
'''使用discard()方法删除集合元素'''
value.discard('rose')
value.discard('lisa')
print(value)

3、集合的访问

集合的元素和字典一样都是无序的,同时集合也没有键-值对的概念,所以访问集合只有两种方式:

①通过集合名整体输出

②通过for循环实现元素遍历

上一篇:密码学:基本的安全协议


下一篇:StringJoiner 小练习之一