Python字典基础、以及字典的"增删改查”

字典:

        字典是“键值对”的无序可变序列,字典中的每个元素都是一个“键值对”,包含:"键对象"和“值对象”。可以通过"键对象“实现快速获取、删除、更新对应的“值对象”。

        列表中我们通过“下标数字”找到对应的对象,字典中通过“键对象”找到对应的“值对象”。“键”是任意的不可变数据,比如整数、浮点数、字符串、元组。但是:列表、字典、集合、这些可变对象,不能作为“键”,并且“键”不可重复。

       “值”可以任意数据,并且可重复

字典的定义方式:

        a={'name':'xxx','age':18}

字典的创建:      

#1.可以通过{},dict()来创建字典对象 
  
a={'name':'xx','age':18}
b=dict(name='xx',age=18)
c=dict([('name','xx'),('age',18)])
print(a)
>>>{'name': 'xx', 'age': 18}

print(b)
>>>{'name': 'xx', 'age': 18}

print(c)
>>>{'name': 'xx', 'age': 18}

d={}      #空的字典对象
e=dict()  #空的字典对象

#2.通过zip()创建字典,谁在前,谁为键
k=['name','age']
v=['xxx',18]
d=dict(zip(k,v))
print(d)
>>>{'name': 'xxx', 'age': 18}


#3.通过fromkeys创建值为空的字典
a=dict.fromkeys(['name','age'])
print(a)
>>>{'name': None, 'age': None}

字典元素的访问(6种方法):

#先设定一个字典对象:
a={'name':'xxa','age':18}

#**1.**通过【键】获取“值”,若键不在,则抛出异常
print(a['name'])
>>>xxa

print(a['sex'])
>>>Traceback (most recent call last):
   File "<input>", line 1, in <module>
   KeyError: 'sex'

#**2.**通过get()方法获取“值”,推荐使用。优点是:指点键不存在,返回None,也可以设定指定键不存在时mo默认返回对象,推荐使用get()获取“键值对”
print(a.get('name'))
>>>xxa
print(a.get('sex','一个女人'))
>>>一个女人

#**3.**列出所有键值对
print(a.items())
>>>dict_items([('name', 'xxa'), ('age', 18)])

#**4.**列出所有的键,列出所有的值
print(a.keys())
>>>dict_keys(['name', 'age'])
print(a.values())
>>>dict_values(['xxa', 18])

#**5.**len()键值对的个数
print(len(a))
>>>2

#**6.**检测一个“键”,是否存在字典中
if "name" in a:
    print(True)
>>> True

添加:

       给字典新增“键值对”。如果存在,则覆盖旧的键值对,如果“键”不存在,则新增“键值对”

       >>>a={"name":"天天向上","age":18}

       >>>a['address']='同在地球村'

       >>>a

       {'name': '天天向上', 'age': 18, 'address': '同在地球村'}

修改:

        使用update()将字典中所有键值对全部添加到旧字典对象上。如果“键”有重复,则直接覆盖

        >>>a={"name":"天天向上","age":18}

        >>>b={'name':'hello',"sex":"男",}

        >>>a.update(b)

        >>>a

        {'name': 'hello', 'gae': 18, 'address': '同在地球村', 'sex': '男'}

删除:

      字典中元素的删除,可以使用del()方法,或者clear()删除所有键值对,pop()删除指定键值对,并返回对应的“值对象“

      >>>a={"name":"天天向上","age":18, 'address': '同在地球村'}

      >>>del(a['name'])

      >>>a

      {'age': 18, 'address': '同在地球村'}

      >>>b=a.pop('age')

      >>>b

      18

     随机删除:

     popitem(),随机删除和返回该键值对,字典是“无序可变序列”,因此没有第一个元素、最后一个元素的概念,popitem弹出随机的项,因为字典并没有“最后的元素”或者其他有关顺序的概念,若想一个接一个地移除并处理项,这个方法就非常有效(因为不用获取键的列表)

    >>>a={"age":18, 'address': '同在地球村'}

    >>>a.popitem()

    ('address', '同在地球村')

     >>>a.popitem()

     ('age', 18)

       

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值