Python基础篇(四)

Python中的字典类似于Java中的Map,数据以键值对的形式存储。

字典可以用以下的方式使用:

>>> phonebook = {"alice":"6100","bruce":"6230","beth":"9120"}
     >>> phonebook.get("alice")
     ‘6100‘

获取字典中某个键的值,可以使用phonebook.get("alice"),也可以使用phonebook["alice"]。

字典使用大括号将数据置于其中,列表使用的是方括号,元组使用的是圆括号。字典的多个键值对之间用逗号隔开,键值对之间用逗号隔开。

就像list函数可以将序列转换为列表,dict函数将序列转换为字典。  tuple转换的是元组,str转换的是字符串。

>>> items = [(‘name‘,‘Grubby‘),(‘age‘,‘28‘)]
     >>> d = dict(items)
     >>> d
     {‘name‘: ‘Grubby‘, ‘age‘: ‘28‘}

下面是一个使用字典的小例子:

people = {
          "Alice" :{
               "phone" : "8300",
               "age" : "20"
          },
          "Bruce" :{
               "phone" : "7100",
               "age" : "21"
          }
     }

lables = {
          "phone" : "phone number is ",
          "age " : "age is"
     }

name = input("name: ")
     request = input("request :")

if request == "p" : key = "phone"
     if request == "a" : key = "age"

if name in people : print("%s‘s %s %s" % \
          (name, lables[key], people[name][key]))

元组作为字典的键时也是很有用的,例如:

>>> phonebook = {"alice":"6100","bruce":"6230","beth":"9120"}
     >>> print("alice phone number is %(alice)s" % phonebook)
     alice phone number is 6100

上述的替换方式在模板系统中非常有用。

clear方法

字典的clear方法用于清除字典中所有的键值对:

>>> phonebook = {"alice":"6100","bruce":"6230","beth":"9120"}
     >>> phonebook.clear()
     >>> phonebook
     {}

copy方法

2.x版本的Python中的复制和Java类似,分为浅复制和深复制。当希望返回的是对象的副本而不仅仅是地址时,要考虑使用深复制。

3.x版本中的copy方法已经是深复制了,而且没有了deepcopy方法

keys方法 

>>> {}.fromkeys(["name","age"])
    {‘age‘: None, ‘name‘: None}
    >>> database = {"name":"john","job":"programmer,teacher"}
    >>> database.keys()
    dict_keys([‘job‘, ‘name‘])

 items方法

items方法将字典以键值对列表的形式返回:

>>> database = {"name":"john","job":"programmer,teacher"}
     >>> it = database.items()
     >>> list(it)
     [(‘job‘, ‘programmer,teacher‘), (‘name‘, ‘john‘)]

pop方法

pop方法用于返回一个键的值,并将该键值对删除:

>>> database = {"name":"john","job":"programmer,teacher"}
     >>> database.pop("name")
     ‘john‘
     >>> database
     {‘job‘: ‘programmer,teacher‘}

popitem方法返回的是任意一个键的值,并将该键值对删除:
     >>> database = {"name":"john","job":"programmer,teacher"}
     >>> database.popitem()
     (‘job‘, ‘programmer,teacher‘)
     >>> database
     {‘name‘: ‘john‘}

update方法

update方法用于一个字典的项更新另一个字典,没有相同的则添加,有相同的则更新:

>>> database = {"name":"john","job":"programmer,teacher"}
     >>> newdata = {"job":"actor"}
     >>> database.update(newdata)
     >>> database
     {‘job‘: ‘actor‘, ‘name‘: ‘john‘}

也可以直接赋值:database["job"] = "actor"

关于print函数更多的用法:

1.使用逗号输出

print函数输出的是字符串,会将用逗号隔开的部分汇聚成一个大的字符串

>>> print("age:",42)
     age: 42

时间: 2024-10-20 06:06:21

Python基础篇(四)的相关文章

工程脚本插件方案 - c集成Python基础篇

工程脚本插件方案 - c集成Python基础篇 序: 为什么要集成脚本,怎么在工程中集成Python脚本. 在做比较大型的工程时,一般都会分核心层和业务层.核心层要求实现高效和稳定的基础功能,并提供调用接口供业务层调用的一种标准的框架划分.在实际中根据需求会拆分的更细. 外部的表现形式就是一个核心动态库,带着一堆业务业务动态库.通过一个调度程序把这些链接起来,外加一堆配置文件,就形成一个完成的项目. 这种模式在一个团队开发中,工作职责比较容易划分.制定API接口后,开发工作基本可以并行实现,包括

python基础篇(二)

python基础篇(二) if:else,缩进和循环控制 A:if的基础格式和缩进 B:循环判断 C:range()函数和len()函数 D:break,contiue和pass语句 for,while循环 函数基础 A:函数的定义和返回值 B:返回值的三种情况 C:函数的注释 函数的进阶(命名空间和作用域) A:内置命名空间 B:全局命名空间 C:局部命名空间 D:全局作用域 E:局部作用域 F:函数的嵌套和作用域链. G:函数名的本质 闭包 ?一:if:else和缩进 A:if的基础格式和缩

python基础篇(五)

python基础篇(五) 算法初识 什么是算法 二分查找算法 ?一:算法初识 A:什么是算法 根据人们长时间接触以来,发现计算机在计算某些一些简单的数据的时候会表现的比较笨拙,而这些数据的计算会消耗大量计算机资源,而且耗时,这个时候就有人对这类计算编写了一些策略,这些策略就是算法.这些策略会加快数据计算时间,大大减少计算机的资源消耗. 在长时间人们编写代码的工作中,一些优秀的算法就被流传下来,但是不是所有的算法都能实现目的一步到位的工作,它只能减少你的代码,提高工作效率,随着知识的不断积累,你会

Python基础篇(八)

key words:私有变量,类静态变量,生成器,导入Python模块,r查看模块可以使用的函数,查看帮助信息,启动外部程序,集合,堆,时间模块,random模块,shelve模块,文件读取等 >>> class Rectangle: ...     def __init__(self): ...         self.__width = 0 ...         self.__height = 0 ...     def setSize(self,width,height): .

老王python基础篇--python, 视频, 教程, 视频教程, 基础

老王python基础篇 基础篇11-python基本数据结构-元组和集合.rar 基础篇19-python语句与数据结构应用.rar 基础篇21-文本操作应用.rar 基础篇3-虚拟机安装xubuntu开发环境.rar 基础篇17-python语句1.2.rar 基础篇10-python基本数据结构-列表应用.rar 基础篇9-python基本数据结构-列表.rar 基础篇5-python基本数据类型讲解1.1.rar 基础篇18-基础篇综合习题.rar 基础篇8-python基本数据类型习题解

python基础篇

python基础篇 变量命名 >>> name_value='freddy' 1 >>> name_value=freddy 2 Traceback (most recent call last): 3 File "<stdin>", line 1, in <module> 4 NameError: name 'freddy' is not defined **变量的值如果是字符串必须要加引号,否则定义变量会报错 (因为他把变

Python 基础语法(四)

Python 基础语法(四) --------------------------------------------接 Python 基础语法(三)-------------------------------------------- 十.Python标准库 Python标准库是随Pthon附带安装的,包含了大量极其有用的模块. 1. sys模块 sys模块包含系统对应的功能 sys.argv ---包含命令行参数,第一个参数是py的文件名 sys.platform ---返回平台类型 sy

Python基础篇(三)

元组是序列的一种,与列表的区别是,元组是不能修改的. 元组一般是用圆括号括起来进行定义,如下: >>> (1,2,3)[1:2]     (2,) 如果元组中只有一个元素,元组的表示有些奇怪,末尾需要加上一个逗号: >>> (1,2,3)[1:2]     (2,) >>> 3*(3)      9      >>> 3*(3,)      (3, 3, 3) tuple函数 tuple函数用于将任意类型的序列转换为元组: >&

Python基础篇(七)

加上两个下划线变量或者方法变为私有. >>> class Bird: ...    __song = "spark" ...    def sing(self): ...       return self.__song ... >>> b = Bird() >>> b.sing() 'spark' >>> b.__sing() Traceback (most recent call last): File &qu