zoukankan      html  css  js  c++  java
  • 【Python】字典~深入篇

    字典的定义

    字典是一系列键值对,字典用放在{}一系列键值对表示

    info = {'first_name':'YueShang','last_name':'QIN','age':'25','city':'KunMing'}

    字典增、删、改、查

    增加新元素

    指定字典名,用方括号括起来的键和相关的值

    info['sex']='Man'

    修改元素

    指定字典名,用方括号括起来的键以及该键相关联的新值

    info['sex']='Woman'

    查询

    指定字典名和放在括号中的键

    print(info['sex'])

    在实际使用过程中,可能一个字典包含成千上万的键值对,那么需要使用遍历才能完全访问键值

    遍历所有的键值对items()

    for key,value in info.items():
        print("
    key:" + key)
        print("
    value:" + value)

    遍历所有键

    for key in info.keys():
        print(key)

    遍历所有值

    for value in info.values():
        print(value)

    注意:在遍历的时候,如果需要对遍历的键进行排序,那么使用sorted()即可。值也一样

    set()方法的使用:set()方法可以对元素去重复

    set()案例

    letter = {'1':'A','2':'B','3':'C','4':'A'}
    for i in set(letter.values()):
        print(i)

    打印结果为:C A B

    删除

    使用del语句删除相应的键值对即可

    del info['sex']

    删除的键值对永远消失了

    嵌套

    有时候,需要将一系列字典存储在列表中,或将列表存储在字典中,这称为嵌套。

    在列表中存储字典

    现在有三个国家的运动员,用一个列表来存储各个国家运动员的信息

    America_Player = {'name':'Tom','age':24}
    China_Player = {'name':'zhangsan','age':27}
    Japan_Player = {'name':'Jinshang','age':25}
    
    players = [America_Player,China_Player,Japan_Player]
    
    for palyer in players:
        print(palyer)

    在字典中嵌套列表

    现在有2个人,分别有自己喜欢的水果列表,我们需要把这些信息全部存储起来,那么使用字典,其中元素为列表即可。

    favorite_fruits = {
        'zhangsan':['apple','pear'],
        'lisi':['orange','apple']
    }
    for name,fruits in favorite_fruits.items():
        print("
    "+name.title()+"'s favorite fruits are:")
        for fruit in fruits:
            print("
    "+fruit.title())

    在字典中嵌套字典

    以下是2个网站,分别对应不同的用户名,把字典存储到字典中即可满足这个需求

    users = {
        'website1':{
            'name':'zhangsan',
            'password':'123'
        },
        'website2': {
            'name': 'lisi',
            'password': '456'
        }
    }
    
    for Website,LoginInfo in users.items():
        print("
    Website:"+Website)
        print("	Username:"+LoginInfo['name'])
        print("	Password:" + LoginInfo['password'])
  • 相关阅读:
    Linux文本处理
    鲜为人知的maven标签解说
    springboot整合websocket高级版
    springboot整合swagger。完爆前后端调试
    java的干儿子锁Lock
    AbstractQueuedSynchronizer(AQS)抽丝剥茧深入了解JUC框架原理
    【优雅写代码系统】springboot+mybatis+pagehelper+mybatisplus+druid教你如何优雅写代码
    居然还有人这样解说mybatis运行原理
    mybatis精讲(七)--动态sql
    基于redis实现分布式锁
  • 原文地址:https://www.cnblogs.com/OliverQin/p/7785083.html
Copyright © 2011-2022 走看看