python字典属于什么类型_Python-字典类型(Dict)

本文深入讲解了Python中字典的基本概念、定义方法、常用操作及数据类型转换等内容,并提供了丰富的实例帮助理解。

1.定义: {}内用逗号分隔开多个key:value,其中value可以是任意类型,但是key必须是不可变类型(通常key是字符串),且key不能重复

# d={'k1':111,(1,2,3):222} #d=dict({'k1':111,(1,2,3):222})

#根据字典的key获取到该key对应的value值

print(d['k1'])

# 111

print(d[(1,2,3)])

# 222

d={} #默认定义出来的是空字典

# print(d,type(d))

# {}

d1=dict() #使用dict()方法定义空字典

# print(d1,type(d1))

# {}

d2=dict(x=1,y=2,z=3)

# print(d2)

# {'x': 1, 'y': 2, 'z': 3}

d3=dict([["name","llj"]])

# print(d3)

#{'name': 'llj'}

2.数据类型转换

d1={'k1':'llj'}

d1['k1']='haha'

print(d1)

{'k1': 'haha'}

info=[

["name","llj"],

("age",20),

["job","IT"]

]

#将列表转换成字典

#方式一:

d={}

for itme in info:

d[itme[0]]=itme[1]

print(d)

{'name': 'llj', 'age': 20, 'job': 'IT'}

#方式二:

d={}

for k,v in info: #itme=[name":"llj"] 解压赋值 k,v=[name":"llj"]

d[k]=v

print(d)

{'name': 'llj', 'age': 20, 'job': 'IT'}

#方式三:

res=dict(info) #一行代码搞定上述for循环工作

print(res)

{'name': 'llj', 'age': 20, 'job': 'IT'}

#造成这样的字典 d={"name":"None","age":"None","sex":"None","job":"None"}

#方法一:

l=["name","age","sex","job"]

d={}

for i in l:

d[i]=None

print(d)

{'name': None, 'age': None, 'sex': None, 'job': None}

#方法二:

#fromkeys() 创建一个新的字典,其中的键来自iterable,值设置为None

l=["name","age","sex","job"]

d={}

d={}.fromkeys(l)

print(d)

{'name': None, 'age': None, 'sex': None, 'job': None}

#优先掌握的操作

#按key存取值,可存可取

d={'k1':111}

print(d['k1']) #取值

111

#针对赋值操作:key存在,则修改

d['k1']=222

print(d)

{'k1': 222}

#针对赋值操作:key不存在,则创建新增

d['k2']=333

print(d)

{'k1': 111, 'k2': 333}

#len长度

d1={"k1":111,"k2":222,"k1":333,"k1":444}

print(d1) #字典的key不能重复

{'k1': 444, 'k2': 222}

print(len(d1)) #字典根据key

2

#成员运算 in和not in

d1={"k1":111,"k2":222}

print("k1" in d1)

True

print("111" in d1)

False

#删除

d1={"k1":111,"k2":222}

del d1['k1'] #通用删除

print(d1)

{'k2': 222}

#pop删除 根据key删除元素,返回删除key对应的那个value值

res_v=d1.pop('k1')

print(res_v)

111

#popitem删除 随机删除,返回元祖

res_t=d1.popitem()

print(res_t)

('k2', 222)

"""

python2中:keys() values() items()

d1={"k1":111,"k2":222}

print(d1.keys())

["k1","k2"]

print(d1.values())

[111,222]

print(d1.items())

[("k1",111,"k2",222)]

相当于

d1=d.dict([("k1",111,"k2",222)])

print(d1)

{"k1":111,"k2":222}

"""

#for循环

d1={"k1":111,"k2":222}

#获取字典所有keys,方式一

for k in d1.keys():

print(k)

k1

k2

#获取字典所有keys,方式二

for k in d1: #字典默认循环所有key

print(k)

k1

k2

#获取字典所有values

for v in d1.values():

print(v)

111

222

#获取字典所有keys和values

for i in d1.items():

print(i)

('k1', 111)

('k2', 222)

for k,v in d1.items():

print(k,v)

k1 111

k2 222

#将获取的keys和values转成python2中的那种

res_keys=list(d1.keys())

print(res_keys)

['k1', 'k2']

res_values=list(d1.values())

print(res_values)

[111, 222]

res_items=list(d1.items())

print(res_items)

[('k1', 111), ('k2', 222)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值