python数据类型之字典类型-dict

1.dict-基本使用

1.用途:用来存多个值,单每一个值都有一个key与之对应,
key对值有描述性的功能,存储多个值表示的不同不同状态
2.定义: {}内用逗号分隔开多个元素,每一个元素都是key:value的形式
              value可以是任意数据类型,
              但是key必须为不可变类型 , key通常应该是字符串类型
d={'x':1,'y':2} #d=dict({'x':1,'y':2})
# d=dict(a=1,b=2,c=3)
print(d)

dic={[1,2,3]:'a'} 直接报错         key不能是列表    字典的key是不可以变类型
dic={{'x':1}:'a'} 直接报错

3.常用操作+内置的方法
1.按key存取值:可存可取
d={'x':1,'y':2}                      不能赋值,通过key修改,可以增加
d['x']=100
print(d)                              key不存在是,会报错
d['z']=3

print(d)


2. 长度len
d={'x':1,'y':2}
print(len(d))

3、成员运算in和not in
d={'x':1,'y':2}
print('x' in d)

4.删除 del pop popitem
d={’x':1,‘y':2} del直接删除
del d['x']

l ={'a': 1 , 'b': 2 }
se=
l.pop ('a') 根据key删除
print (l )
print (se )

# res=d.popitem() 随机删除
popitem # print(d)
# print(res)

5、键keys(),值values(),键值对items()key和value都取出
keys=msg_dic. keys()                  keys后是一个整体
print(keys)
for k in keys:
print(k)
print(list(keys)                              通过列表转换方式取出

vals=msg_dic. values()                    同上
# print(vals)
# print(list(vals))


# for k,v in msg_dic.items(): #k,v=('apple', 10)  items取出key,和值两个

# print(k,v)


6、循环
msg_dic={
'apple':10,
'tesla':100000,
'mac':3000,
'lenovo':30000,
'chicken':10,
}
# 只取key
# for k in msg_dic:
# print(k,msg_dic[k])

# for k in msg_dic.keys():
# print(k,msg_dic[k])

# 只取value
# for v in msg_dic.values():
# print(v)

#取key和value
# for k,v in msg_dic.items(): #k,v=('apple', 10) items取出key,和值两个
# print(k,v)


7. 查看get
d={'x':1,'y':2,'z':3}
# v=d.get('xxxx')              key不存在 提示none
# print(v)
d['xxx']=100

print(d)                            key不存在是,会报错


8.update
# d={'x':1,'y':2,'z':3}
# d1={'a':1,'x':1111111}              更新字典
# d.update(d1)
# print(d)

9.fromkeys 生成一个初始字典 值是None
l=['name','age','sex']
d=dict.fromkeys(l,None)
print(d)


10.setdefault 向字典里面加值,有key的话返回原值,没有直接加

info={'name':'egon','age':18,'sex':'male'}

# 如果字典中有setdefault指定的key,那么不改该key对应的值,返回原的value
# res=info.setdefault('name',’pwd')          有返回值
# print(info)
# print(res)

# 如果字典中没有setdefault指定的key,那么增加一个key:value,返回新的value
# info.setdefault('height',1.80)                    返回一个新赋值
# print(info)

# info={'age':18,'sex':'male'}
# v=info.setdefault('name','浩哥')
# print(v)



s='hello alex alex say hello sb sb' 用字典统计同名出现的次数
l=s.split()
print(l)
d={}
# d={'hello':2,'alex':2}
for word in l: #word='alex'
1 # d[word]=l.count(word) #d['alex']=2 每个都赋值
2 d.setdefault(word,l.count(word)) 赋值过的

print(d)

二:该类型总结
     1 存一个值or存多个值
         可以存多个值,值都可以是任意类型,而key必须是不可变类型,通常应该是不可变类型中字符串类型

     2 有序or无序

         无序

     3 可变or不可变
                可变
    d={'x':1,'y':2}
     print(id(d))
     d['x']=1111
     print(id(d))



猜你喜欢

转载自blog.csdn.net/xiaomage1996/article/details/80530115
今日推荐