编程语言
首页 > 编程语言> > python全栈-day5

python全栈-day5

作者:互联网

1、字典 dict

(1)数据类型划分:可变数据类型,不可变数据类型

  不可变数据类型:元祖,bool,int,str   可哈希

  可变数据类型:list,dict,set(集合)   不可哈希

(2)dict   key   : 必须是不可变数据类型,可哈希

     value:任意数据类型

(3)dict   优点:二分查找去查询,存储大量的关系型数据

       特点:无序的

2、dict的增删改查

(1)字典的增

【1】直接赋值

dic1 = {'age':18,'name':'jin','sex':'male'}
dic1['high'] = 185  #没有键值对,添加
dic1['age'] = 20    #如果有键值对,则覆盖值

【2】setdefault()

dic1.setdefault('weight')  #有键值对,不做任何改变,没有才添加
dic1.setdefault('weight',110)
dic1.setdefault('name','二哥')

(2)字典的删

【1】pop()

print(dic1.pop('age'))  #有返回值,按键去删除
print(dic1.pop('二哥',None)) #可设置返回值

【2】popitem()

dic1.popitem()  #py3.5 随机删除,有返回值   返回元祖(删除的键值对)
print(dic1)     #py3.5 打印随机显示

【3】clear()

dic1.clear() #清空字典内容
print(dic1)

【4】del

del dic1['name']    #按键去删除
print(dic1)

(3)字典的改

【1】直接赋值

dic1['age'] = 20    #如果有键值对,则覆盖值
print(dic1)
a,b = 1,2
print(a,b)

a = 1
b = 2
a,b = b,a
print(a,b)

a,b = [1,2],[2,3]
a,b = {(1,2),(1,3),'sad'},{1}      #直接赋值替换,但要与前面变量一一对应
print(a,b)

【2】update()  #括号里的字典替换前面的字典,前面有键值对的替换值,没有的就增加

dic = {'age':18,'name':'jin','sex':'male'}
dic2 = {'age':22,'name':'kkk','asd':2}
dic.update(dic2)   
print(dic)
print(dic2)

(4)字典的查

【1】key()    #查字典中所有的键

print(dic1.keys())

【2】value()   #查字典中所有的值

print(dic1.values())

【3】items()  #查所有的键值对

print(dic1.items())

【4】for循环

for i in dic1:      #什么都不加默认查字典里的键
    print(i)
for i in dic1.values():
    print(i)
for i in dic1.items():  #以元祖的形式打印键值对
    print(i)
for i,j in dic1.items():  #两个变量循环打印,就不是以元祖的形式打印键值对了
    print(i,j)

【5】直接按键查,没有就会报错

dic1 = {'age':18,'name':'jin','sex':'male'}
print(dic1['age'])
v = dic1['name1']     #报错
print(v)

【6】get()  #按键查,有返回值None,可以自己设定

dic1 = {'age':18,'name':'jin','sex':'male'}
print(dic1.get('age','meiyou'))    #18
print(dic1.get('age1','meiyou'))  # meiyou
print(dic1.get('age1'))  #None

3、字典的嵌套

(1)如果嵌套的字典中键对应的值是列表,对这个键就可以按照列表的方法操作

dic = {'name':['alex','wsir','aiai'],'py9':{'time':'1213','learn_money':19800,'addr':'CBD'},'age':21}
dic['age'] = 56
dic['name'].append('yb')
#l = [1,2,'wusir']
#l[2] = l[2].upper()
dic['name'][1] = dic['name'][1].upper()

(2)如果嵌套的字典中键对应的值是字典,对这个键就可以按照字典的方法操作

dic = {'name':['alex','wsir','aiai'],'py9':{'time':'1213','learn_money':19800,'addr':'CBD'},'age':21}
dic['py9']['female'] = 6
dic['py9'].setdefault('female',6)
print(dic)

PS:

info = input('>>>') .strip()    
for i in info:
    if i.isalpha():
        info = info.replace(i,' ')
# print(info)
l = info.split()
# print(l)
li = []
for j in l:
    li.extend(l[l.index(j)])
print(len(li))
查看输入的字符串中含有多少个数字

 

标签:name,python,age,day5,dic,dic1,全栈,print,字典
来源: https://www.cnblogs.com/dabj-yb/p/12489764.html