字典

字典 (dict)

字典定义:
  • {key1:value1,key2:value2}
  • key指的是字典中的键;value指的是字典中的值
  • 键与值必须成对出现,键-值对之间用逗号隔开
  • 字典中键不能重复出现;值可以重复
  • 字典是可变的
  • 字典是无序的?
  • 字典查询速度快,因为hash结构
创建字典
  • 方式1。直接大括号创建字典

    >>> student = {"name":"jack","age":"18"}
    >>> student
    {'name': 'jack', 'age': '18'}
    >>> student = {1:"jack",2:"18"}
    >>> student
    {1: 'jack', 2: '18'}
    >>> student = {"name":"jack",2:"18"}
    >>> student
    {'name': 'jack', 2: '18'}
  • 方式2。使用dict()创建字典

  • >>> student = dict(name = "jack",age = "18")
    >>> student
    {'name': 'jack', 'age': '18'}
    • 注:dict()的用法
    >>> student = dict(jack=1,jane=2)
    >>> student = dict(1=jack,2=jane)
    SyntaxError: keyword can't be an expression
  • 方式3。批量创建

    >>> {}.fromkeys([1,2,3,4,5,6,7,8],100)
    {1: 100, 2: 100, 3: 100, 4: 100, 5: 100, 6: 100, 7: 100, 8: 100}
字典的增加
  • 方式1

    >>> student
    {'小明': [8, '男'], '小红': [7, '女'], '小亮': [9, '男']}
    >>> student["小白"] = [8,'男']
    >>> student
    {'小明': [8, '男'], '小红': [7, '女'], '小亮': [9, '男'], '小白': [8, '男']}
  • 方式2。setdefault()

    >>> student
    {'小明': [8, '男'], '小红': [7, '女'], '小亮': [9, '男'], '小白': [8, '男']}
    >>> student.setdefault("小花",[7,"女"])
    [7, '女']
    >>> student.setdefault("小明",[7,"女"])
    [8, '男']
    • 注:setdefault()
      • 新增的元素原字典内不存在时,返回新增元素
      • 新增元素原字典内存在时,不改变原字典内的元素,返回旧元素
字典的删除
  1. pop()。删除指定元素,()内必须传入一个 键

    >>> student
    {'小明': [8, '男'], '小红': [7, '女'], '小亮': [9, '男'], '小白': [8, '男'], '小花': [7, '女']}
    >>> student.pop("小白")
    [8, '男']
    >>> student
    {'小明': [8, '男'], '小红': [7, '女'], '小亮': [9, '男'], '小花': [7, '女']}
    • 注:字典中pop()必须指定key,而不能默认删除最后一个元素。与列表的pop()不同。
  2. popitem()。 ()内不能传入参数

    >>> student = {'小明': [8, '男'], '小红': [7, '女'], '小亮': [9, '男'], '小白': [8, '男'], '小花': [7, '女']}
    >>> student.popitem()
    ('小花', [7, '女'])
    >>> student.popitem()
    ('小白', [8, '男'])
    • 注:字典是否是无序的?popitem是随机删除元素,还是删除最后一个元素
  3. del 。删除指定key,不返回删除的元素,类似pop()

    del student["小明"]
  4. clear。清空字典

    name.clear()
字典的修改
  • dic[key] = 'new_value'

    如果key在字典中存在,则'new_value'将替代原来的value;

    如果key在字典中不存在,则新加 key:new_value 键值对 , 可作为字典增加元素的操作

  • dict1.update(dict2)。字典2的元素添加到字典1中,相同的元素被dict2中的元素更新。

    >>> student
    {'小红': [7, '女'], '小亮': [9, '男'], '小明': [7, '男']}
    >>> student2
    {'小花': [8, '女'], '小兰': [8, '女'], '小明': [6, '男']}
    >>> student.update(student2)
    >>> student
    {'小红': [7, '女'], '小亮': [9, '男'], '小明': [6, '男'], '小花': [8, '女'], '小兰': [8, '女']}
  • 第二种方式同字典的增加 方式1

字典的查询
  1. dic['key']。#返回key对用的value,不存在则报错

    >>> student
    {'小红': [7, '女'], '小亮': [9, '男'], '小明': [6, '男']}
    >>> student["小红"]
    [7, '女']
  2. dic.get(key,default=None)

    • 返回key对应的value;key不存在是默认返回None;可修改返回值:如,default=-1,则返回-1

    >>> student
    {'小红': [7, '女'], '小亮': [9, '男'], '小明': [6, '男']}
    >>> student.get("小红")
    [7, '女']
    >>> student.get("小白")
    >>> student.get("小白",-1)
    -1
  3. "key" in dic

  4. dic.key() #返回包含所有key的列表

  5. dic.valur() #返回包含所有value列表

  6. dic.items() #返回一个包含所有(键-值)元祖的列表

    >>> student
    {'小红': [7, '女'], '小亮': [9, '男'], '小明': [6, '男']}
    >>> student.items()
    dict_items([('小红', [7, '女']), ('小亮', [9, '男']), ('小明', [6, '男'])])
字典的循环
  1. 官方推荐

    >>> student
    {'小红': [7, '女'], '小亮': [9, '男'], '小明': [6, '男']}
    >>> for i in student:
     print(i,student[i])
    
    小红 [7, '女']
    小亮 [9, '男']
    小明 [6, '男']
  2. 方式2

for k in student.keys()
  1. 方式3
for k,v in student.items()

转载于:https://www.cnblogs.com/liuxu2019/p/11180580.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值