Python每天吃掉一点点DAY8

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 在输出整个字典时是如何处理的

 输出结果:

Python每天吃掉一点点DAY8


  • 字典通过   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)  这里会直接报错,因为字典已经不存在了

运行结果如下: 

Python每天吃掉一点点DAY8

下面给出操作字典的常用函数与方法(字典名为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="//")

输出结果: 

Python每天吃掉一点点DAY8

 

上一篇:冒号字符在XML元素序列化过程中被编码为x003A


下一篇:2021-12-30数组链表day8