python字典属于无序序列_Python基本序列-字典

Python 基本序列-字典

字典(dict)是"键-值 对"的无序可变序列,字典中的每个元素包含两部分,"键"和"值"。

字典中的"键"可以是Python中任意不可变的数据,但不能使用列表集合字典作为键,因为这些对象是可变的。

字典中的键不允许重复。

字典作为序列的一种,同样具有以下几个用法

key in dict:检查dict中是否包含键为k的项

len(d):返回d(字典对象)中项的数量;

但是也有些许不同

字典键的类型更丰富(任何不可变数据)

修改key对应的value,若key不存在,则直接创建

key in dict 是根据“键”来判断是否在字典中,而不是值,也不是键值对

字典的创建:

1.直接创建

t = { "a" : 1, "b": 2 }

2.利用dict函数创建

#第一种形式

d = dict (name = "dong", age = 37) #注意这个地方键的字符串类型没加引号

print(d)#输出 {'age':37,'name':'dong'}

#第二种形式 搭配zip函数 将列表生成的元祖打包成字典

keys = ['a' , 'b' , 'c']

values= [1 , 2 , 3]

tuple_t=zip(keys, values)print(tuple_t)#输出 (['a' , 'b' , 'c'], [1 , 2 , 3])

d =dict (tuple_t)print(d)#输出 {'a' : 1 , 'b' : 2 , 'c' : 3}

字典的读取:

1.直接读取

dict_t = {'a' : 1 , 'b' : 2 , 'c' : 3}print(dict_t[a])#输出 1

这种访问方式比较直接,但是不安全。如果指定的"键"不存在,则会抛出异常

2.利用get()函数间接读取

使用get()函数获取指定“键”对应的值,并且在“键”不存在时返回指定值,如果没有指定值,则默认返回None

dict_t = {'a' : 1 , 'b' : 2 , 'c' : 3}print(dict_t.get('a'))#输出 1

print(dict_t.get('d'))#输出 None

print(dict_t.get('d', 'NOT FOUND'))#输出 'NOT FOUND'

3.利用items()方法返回一个字典的“键-值 对”列表(iteritems返回一个迭代器对象)

dict_t = {'a' : 1 , 'b' : 2 , 'c' : 3}for i indict_t.items():print(i)#输出 ('a', 1)#('b', 2)#('c', 3)

同样,也可以利用keys(),values()分别返回两个键和值的列表进行访问(iterkeys() , itervalues()都返回一个迭代器对象,而不是列表)

4.利用pop()返回并删除一个指定"键"元素

dict_t = {'a' : 1 , 'b' : 2 , 'c' : 3}

t= dict_t.pop('c')#输出 3

print(t)#输出 {'a': 1, 'b': 2}

print(dict_t)

5.利用popitem()随机返回并删除一个元素

字典元素的修改与删除:

1.直接根据"键"来修改,若字典中该"键"不存在,则创建一个新的"键-值 对"

dict_t = {'a' : 1 , 'b' : 2 , 'c' : 3}print(dict_t)

dict_t['d']=4

print(dict_t)#输出 {'a': 1, 'b': 2, 'c': 3, 'd': 4}

2.利用update(dict),将另一个字典的"键-值 对"一次性加到当前字典对象

dict_t = {'a' : 1 , 'b' : 2 , 'c' : 3}

t= {'d':4}

dict_t.update(t)print(dict_t)#输出 {'a': 1, 'b': 2, 'c': 3, 'd': 4}

3.利用del()删除一个指定"键"元素

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值