DAY8
涉及知识点:
- 字典
字典:
#基本格式
dic={key1:value1,key2:value2,key3:value3}
- 字典中有两个关键成分,分别是:键(key)和值(value),两者一一对应。
- 在字典定义中可以出现相同的键,但后者会替换前者,保证了索引结果唯一。
- 字典中,键必须是不可变的类型,但是值可以是任意类型。
- 字典通过 dic[key] 来索引key所对应的值
#例
dic={'a':1 , 'b':2 , 3:'c' , (1,2,3):[1,2,3] , 3:'d'}
# 字符串键值 数字键值 元组键值 重复定义
print(dic['a'])
print(dic[(1,2,3)])
print(dic[3])
print(dic) #注意观察3:d 在输出整个字典时是如何处理的
输出结果:
- 字典通过 dic[new_key]=new_value 的方式添加一个新的键值对
- 字典通过 dic[key]=new_value 的方式来改变一个键所对应的值
- 字典通过 del dic[key]或del dic 的方式来删除一个键值对或整个字典
dic={1:'a' , 2:'b' , 3:'c' , 4:'d'}
dic[5]='e'
print("执行完dic[5]='e'后dic为:",dic)
dic[1]='X'
print("执行完dic[1]='X'后dic为:",dic)
del dic[1]
print("执行完del dic[1]后dic为:",dic)
del dic
#print("执行完del dic后dic为:",dic) 这里会直接报错,因为字典已经不存在了
运行结果如下:
下面给出操作字典的常用函数与方法(字典名为dic):
函数或方法名 作用 len(dic) 返回该字典中键值对的个数 str(dic) 以字符串的形式输出一个字典 dic.clear() 清除字典内所有元素 dic.copy() 返回一个字典的浅复制 dic.get(key,value) 获取该字典中键为key所对应的值,如无该键,返回value中的值 dic.setdefault(key,value) 与get()类似,但如果没有该键,会在字典中添加一个键值对,键为key,值为value的值 dic.has_key(key) 判断该字典中是否有这个键,如果有返回True,否则返回False dic.items() 返回一个可以遍历的键值对元组数组 dic.keys() 以列表的形式返回字典中所有键 dic.values()
以列表的形式返回字典中所有值 dic.update(dic2) 用dic2中的键值对更新dic dic.popitem() 删除dic中最后一个键值对,并返回
下面展示部分函数与方法的使用:
dic={1:'a' , 2:'b' , 3:'c' , 4:'d'}
print("\n-----------len(dic)-----------")
print("len(dic)=",len(dic))
print("\n-----------str(dic)-----------")
print("str(dic)=",str(dic))
print("\n-----------展现copy的特点-----------")
dic1=dic #此处相当于给dic命了一个别名叫dic1
dic2=dic.copy() #此处相当于新建了一个字典叫做dic2,里面所有的键值对取自dic
del dic[4]
print("dic1=",dic1)
print("dic2=",dic2) #会发现,dic1被改变了,而dic2没有
print("\n-----------展现get()和setdefault()的区别-----------")
print("dic.get(3,default='without')=",dic.get(4,'without'))
print("dic.setdefault(4,default='d')=",dic.setdefault(4,'d'))
print("\n-----------展现items()的用法-----------")
for key,value in dic.items():
print("key=",key," ","value=",value,sep="",end="//")
输出结果: