python 字典操作详解

字典操作

字典一种key – value 的数据类型,使用就像我们上学用的字典,通过笔划、字母来查对应页的详细内容。

语法:

info ={
    ‘stu1001‘:"TengLan Wu",
    ‘Stu1002‘:"Longze Loula",
    ‘stu1103‘:"XiaoZe Maliya",
}

增删改查

####字典的定义 key: value
info ={
    ‘stu1001‘:"TengLan Wu",
    ‘Stu1002‘:"Longze Loula",
    ‘stu1103‘:"XiaoZe Maliya",
}
#####查询 字典的数据###############
#####查询所有,但是字典是无序的
print(info)

#如果查询一个只需要查询对方的key
print(info["stu1001"])

#不报错方式查询(安全点)
print(info.get("stu1001"))

####### 修改######

info["stu1001"]="武藤兰"
print(info)

#########添加#########
info["stu1004"]="CangjingKong"
print(info)

########删除######## 两种方法
#第一种
#del info["stu1001"]
print(info)

#第二种
info.pop("stu1103")
print(info)

#还有一个随机删除
info.popitem()

#判断字典里面存不存在这个key

print(‘stu1005‘ in info ) # 有的话返回TRUE

#查询所有的values
print(info.values())

#查询所有的key
print(info.keys())

字典的多级嵌套

av_catalog={
    "欧美":{
        "www.youporn.com":["很多免费的,世界最大的","质量一般"],
        "www.pornhub.com":["很多免费,也很大","比youporn高点"],
        "letmedothistoyou.com":["多是自拍,高质量图片很多","资源丰富"]
    },
    "日韩":{
        "tokyo-hot":["质量不清楚,个人已经不喜欢日韩","听说是收费的"],
    },
    "大陆":{
        "1024":["全部免费。真好好人一生平安","服务器在国外,慢"]
    }
}

#修改多级嵌套
av_catalog["大陆"]["1024"][1]="可以在国内做镜像"
print(av_catalog)

各种其他的骚操作

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author: liang
info ={
    ‘stu1001‘:"TengLan Wu",
    ‘Stu1002‘:"Longze Loula",
    ‘stu1103‘:"XiaoZe Maliya",
}
b={
    ‘stu1001‘:"liang",
    1:2,
    2:5
}
#update 合并字典
info.update(b)
print(info)
#输出的结果如下
#{‘stu1001‘: ‘liang‘, ‘Stu1002‘: ‘Longze Loula‘, ‘stu1103‘: ‘XiaoZe Maliya‘, 1: 2, 2: 5}

#items #字典转为列表
print(info.items())

#初始化一个新的字典
#c=info.fromkeys([6,7,8])
c=dict.fromkeys([7,8,9],"test")
print(c)

#fromkeys 坑的地方
#如果里面嵌套了一个字典,修改一个的时候就会修改所有的
#就像浅层copy一样的
d=dict.fromkeys([7,8,9],[1,{"name":"liang"},444])
d[7][1][‘name‘]="cc"
print(d)

字典循环

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author: liang
info ={
    ‘stu1001‘:"TengLan Wu",
    ‘Stu1002‘:"Longze Loula",
    ‘stu1103‘:"XiaoZe Maliya",
}

#最基本的循环
for i in info:
    print(i,info[i])

#这种循环花的时间比第一种长,建议使用第一种循环
for k,v in info.items():

    print(k,v)

三级菜单的一个实现 超级low的一个代码

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author: liang
date={
    ‘北京‘:{
        "昌平":{
        "沙河":["oldboy","test"],
        "天通往":["我爱我家","liang"]
    },
    "朝阳":{
        "望经":["本词","默默"],
        "国贸":["CICC","HP"],
        "东之梦":["Advent","飞信"]
    }
    },
    "江西":{
        "南昌":{
            "南昌县":["现代学院","江西师范大学"],
            "新建县":["江西南昌大学","江西农业大学"]
        },
        "抚州":{
            "东乡县":["小黄","浴缸"],
            "临川区":["临川二中","临川一中"]
        }

    },
    "湖南":{
        "长沙":{
            "aaaa":["vvv","aaaa"],
            "cccc":["cada","cada"]
        }
    }
}

while True:
    for i in date:
        print(i)
    choie=input("你要选择那个城市?1>>>>>")
    if choie in date:
        while True:
            for i2 in date[choie]:
                print(i2)
            choie2=input("你要选择那个城市?2>>>>>")
            if choie2 in date[choie]:
                while True:
                    for i3 in date[choie][choie2]:
                        print(i3)
                    choie3 = input("你要选择那个城市?3>>>>>")
                    if choie3 in date[choie][choie2]:
                        for i4 in date[choie][choie2][choie3]:
                            print(i4)
                        choie4=input("已经是最后一层!按b退出>>>>>")
                        if choie4 == ‘b‘:
                            pass
                        elif choie4 ==‘q‘:
                            exit("bye!!!!")
                        else:
                            print("你输入的有误")
                    if choie3== ‘b‘:
                        break
                    elif choie3 ==‘q‘:
                        exit("bye !!!")
                    else:
                        print("你输入的有误")
            if choie2==‘b‘:
                break
            elif choie2==‘q‘:
                exit("bye!!!!")
            else:
                print("你输入的有误")
    if choie==‘b‘:
        print("如果退出请按q")
    elif choie ==‘q‘:
        exit("bye !!!")
    else:
        print("你输入的有误")

原文地址:http://blog.51cto.com/9861015/2118872

时间: 2024-07-29 17:35:11

python 字典操作详解的相关文章

Python3字典操作详解 Python3字典操作大全

1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 #Author:sking 4 #Python3字典操作详解 Python3字典操作大全 5 6 #字典是无序的(因为它没有下标),key必须是唯一的 7 #字典是可变的,可以修改和添加 8 #创建字典 9 info = {'haha':12,'heihei':13,'wowo':45} 10 #查找字典的值value 11 #方法1 12 print(info['heihei']) #13 此

python文件操作详解

文件操作是编程中必不可少的,配置文件,数据存储都是对文件操作:按文件操作与格式主要内容如下图: 文件基本操作为打开,读取,写入,关闭,我们按这个过程来详解讲解. 1.一个例子搞定打开,读取与关闭: 准备工作: 1>新建文件:E:\workdir\readme.txt(或者自己准备一个其他文本文件):2>文件添加一行内容:this is test 直接上代码,有个基本认识: #文件路径 path = r'E:\workdir\readme.txt' #打开文件 f = open(path) #读

Python元组操作详解

本文和大家分享的主要是python 元组操作相关内容,一起来看看吧,希望对大家 学习python有所帮助. 谈起元组,有了解的可能会觉得这个类型跟列表是非常相似的,操作方面也基本雷同,不过他们本质的区别是,元组是不可变数据类型,还记得我们之前提到过的字符串也是不可变数据类型吗?让我们再回顾下什么是不可变性,不可变性就是一旦一个对象被定义了,它的值就不能再本更新,除非是重新创建一个新的对象,那元组跟字符串的区别是,元组是一个容器对象,它可以包含一个或多个元素,基本特性我们  就介绍了这里,接下来我

python列表操作详解

列表由一系列按特定顺序排列的元素组成.可以同时包含多种类型的数据,方便我们在程序中对数据进行查找,添加,删除和修改,是python程序的重要组成部分. 定义列表(储存多个数据) 列表的基本操作为-增-删-改-查 定义:变量名=[储存的数据],可以存放各种类型的数据 取变量值:变量名[索引] 列表的类型为list类型    list( )可以将几个数值的结果直接转换为列表. 列表是一个有序的虚拟结构,下标从零开始计算,总共存储的数据为n-1 求列表长度:len(列表名) Python计算列表元素数

Python对Excel操作详解

  Python对Excel操作详解 文档摘要: 本文档主要介绍如何通过python对office excel进行读写操作,使用了xlrd.xlwt和xlutils模块.另外还演示了如何通过Tcl  tcom包对excel操作. 关键字: Python.Excel.xlrd.xlwt.xlutils.TCl.tcom     1 Python简介 Python是一种面向对象.直译式电脑编程语言,具有近二十年的发展历史,成熟且稳定.它包含了一组完善而且容易理解的标准库,能够轻松完成很多常见的任务.

Python中dict详解

yangyzh Python中dict详解 python3.0以上,print函数应为print(),不存在dict.iteritems()这个函数. 在python中写中文注释会报错,这时只要在头部加上# coding=gbk即可 #字典的添加.删除.修改操作dict = {"a" : "apple", "b" : "banana", "g" : "grape", "o&qu

【python进阶】详解元类及其应用2

前言 在上一篇文章[python进阶]详解元类及其应用1中,我们提到了关于元类的一些前置知识,介绍了类对象,动态创建类,使用type创建类,这一节我们将继续接着上文来讲~~~ 5.使?type创建带有?法的类 最终你会希望为你的类增加?法.只需要定义?个有着恰当签名的函数并将 其作为属性赋值就可以了.添加实例?法 In [14]: def echo_bar(self):#定义了一个普通的函数 ...: print(self.bar) ...: In [15]: FooChild = type('

Python基础知识详解 从入门到精通(七)类与对象

本篇主要是介绍python,内容可先看目录其他基础知识详解,欢迎查看本人的其他文章Python基础知识详解 从入门到精通(一)介绍Python基础知识详解 从入门到精通(二)基础Python基础知识详解 从入门到精通(三)语法与函数Python基础知识详解 从入门到精通(四)列表.元组.字典.集合Python基础知识详解 从入门到精通(五)模块管理Python基础知识详解 从入门到精通(六)文件操作PS:很多人在学习Python的过程中,往往因为遇问题解决不了或者没好的教程从而导致自己放弃,为此

Python字符编码详解(转)

1. 字符编码简介 1.1. ASCII ASCII(American Standard Code for Information Interchange),是一种单字节的编码.计算机世界里一开始只有英文,而单字节可以表示256个不同的字符,可以表示所有的英文字符和许多的控制符号.不过ASCII只用到了其中的一半(\x80以下),这也是MBCS得以实现的基础. 1.2. MBCS 然而计算机世界里很快就有了其他语言,单字节的ASCII已无法满足需求.后来每个语言就制定了一套自己的编码,由于单字节