学习Python之旅-第五课

学习Python之旅-第五课

1.字典
字典属于另外一种可变容器,且可以存储任意类型对象。
2.创建并访问字典

dic = {1:2,3:'jkl','asd':[1,56,'sadf']}
print(dic)
print(dic[1])
print(dic['asd'][2])
{1: 2, 3: 'jkl', 'asd': [1, 56, 'sadf']}
2
sadf

3.修改字典

dic = {1:2,3:'jkl','asd':[1,56,'sadf']}
print(dic)

dic['asd'] = 123
print(dic)
{1: 2, 3: 'jkl', 'asd': [1, 56, 'sadf']}
{1: 2, 3: 'jkl', 'asd': 123}

4.添加元素

dic = {1:2,3:'jkl','asd':[1,56,'sadf']}  #动态的向字典中添加元素的时候,只要添加的键在字典中不存在,就会新增这个元素。在以下字典中添加一个住址信息
print(dic)
dic[666] = 'wert'
print(dic)
{1: 2, 3: 'jkl', 'asd': [1, 56, 'sadf']}
{1: 2, 3: 'jkl', 'asd': [1, 56, 'sadf'], 666: 'wert'}

5.删除字典元素
(1) del

dic = {1:2,3:'jkl','asd':[1,56,'sadf']}  #动态的向字典中添加元素的时候,只要添加的键在字典中不存在,就会新增这个元素。在以下字典中添加一个住址信息
print(dic)
del dic['asd']  #del既可以删除指定的字典元素(列表也可以指定),也可以删除整个字典,如果不指定key,代表删除整个字典
print(dic)
del  dic
print(dic)
Traceback (most recent call last):
  File "C:/Users/zmczx/test/lb_list.py", line 80, in 
    print(dic)
NameError: name 'dic' is not defined
{1: 2, 3: 'jkl', 'asd': [1, 56, 'sadf']}
{1: 2, 3: 'jkl'}

(2) clear

dic = {1:2,3:'jkl','asd':[1,56,'sadf']}  #动态的向字典中添加元素的时候,只要添加的键在字典中不存在,就会新增这个元素。在以下字典中添加一个住址信息
print(dic)
dic.clear()
print(dic)  #被清空的字典最后会剩下一个空的字典在,而用del删除的字典在程序当中就不存在了
{1: 2, 3: 'jkl', 'asd': [1, 56, 'sadf']}
{}

6.一般字典应用函数

dic = {1:2,3:'jkl','asd':[1,56,'sadf']}  #动态的向字典中添加元素的时候,只要添加的键在字典中不存在,就会新增这个元素。在以下字典中添加一个住址信息
print(dic)
print(len(dic))  #计算字典中元素的个数
str1 = str(dic)  #输出字典,已可打印的字符串表示
print(str1)
print(type(str1))   #判断str1的数据类型
print(type(dic))   #返回输入变量的数据类型
{1: 2, 3: 'jkl', 'asd': [1, 56, 'sadf']}
3
{1: 2, 3: 'jkl', 'asd': [1, 56, 'sadf']}




#创建一个新的字典,以序列seq中元素做字典的值,value为字典所有键对应的初始值
seq = (1,2,3)
dic2 = dict.fromkeys((seq))
print(dic2)
dic3 = dict.fromkeys(seq,'666')
print(dic3)
{1: None, 2: None, 3: None}
{1: '666', 2: '666', 3: '666'}


#返回指定键的值,如果值不在字典中返回default值
dic = {1:2,3:4}
print(dic.get(1,6))
print(dic.get(9,10))
2
10


#如果健在字典dict里返回true,否则返回false
dic2 = {1:[2,3,5],'a':3,9:[1,312]}
if 'a' in dic2:
    print(666)
else:
    print('...')
666


#以列表返回一个字典所有的键
dic5 = {1:[2,3,5],'a':3,9:[1,312]}
print(dic5.keys())
dict_keys([1, 'a', 9])

#和get类似,但如果键不存在于字典中,将会添加键并将值设为default
dic6 = {1:23,6:'a'}
print(dic6.setdefault(1,98))
print(dic6.setdefault('jj',18))
print(dic6)
23
18
{1: 23, 6: 'a', 'jj': 18}

#以列表返回一个字典中的所有值
dic8 = {1:[2,3,5],'a':3,9:[1,312]}
print(dic8.values())
dict_values([[2, 3, 5], 3, [1, 312]])

你可能感兴趣的:(学习Python之旅-第五课)