欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Python 学习笔记(九)Python元组和字典(二)

程序员文章站 2022-09-26 16:35:18
什么是字典 字典是另一种可变容器模型,且可存储任意类型对象。 字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 键必须是唯一的,但值则不必。 值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。 示例: 创建字典 方 ......

什么是字典

字典是另一种可变容器模型,且可存储任意类型对象。

字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中

键必须是唯一的,但值则不必。

值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。

示例:

1 >>> d ={"name":"beijing"}  #花括号中 “name ”为key 即键 “beijing”为value 即值 中间用冒号分割。多个键值对用逗号分割,键必须唯一。键必须是不可变类型,值可以是任何数据类型
2 >>> d
3 {'name': 'beijing'}
4 >>> type(d)
5 <type 'dict'>
6 >>>

创建字典

方式1:mydict={}

方式2:mydict=dict(arg)

方式3:mydict={}.fromkeys(arg)

 1 >>> d={}     #创建了一个空的字典
 2 >>> person ={"name":"zhangsan","age":"18"} #创建一个有内容的字典
 3 >>> d["student"]="xiaoming"  #向字典d中添加内容
 4 >>> d
 5 {'student': 'xiaoming'}
 6 >>> id(d)      #id函数获取对象的内存地址。
 7 49510328L
 8 >>> d["age"]=18 #向d字典中添加age
 9 >>> d
10 {'age': 18, 'student': 'xiaoming'}
11 >>> id(d)  #id函数获取对象的内存地址与上面的相同,由此可见添加内容并没有创建新的字典,说明字典是可以修改的,或者说字典是可变得
12 49510328L
13 >>> name=([1,"baidu"],[2,"weibo"]) #创建一个元组,元组中有两个列表,一个列表中有两个元素,这两个元素对应着即将创建的key和value
14 >>> name
15 ([1, 'baidu'], [2, 'weibo'])
16 >>> web =dict(name) #使用dict函数创建字典
17 >>> web
18 {1: 'baidu', 2: 'weibo'}
19 >>> w =dict(name="tom",age=10) #使用dict函数创建字典
20 >>> w
21 {'age': 10, 'name': 'tom'}
22 >>> book ={}.fromkeys(("python","author"),"cc") #使用fromkeys创建字典,可以看出value值可以重复
23 >>> book
24 {'python': 'cc', 'author': 'cc'}
25 >>>

基本方法

  len()  键值对的长度

  d[key] 通过key获取value值

  d[key]=value 修改或增加

  del[key] 删除

  key in d 判断key是否在字典d中

 1 >>> city_codes
 2 {'tianjin': '022', 'beijing': '010', 'shanghai': '021', 'chongqing': '023'}
 3 >>> "beijing is the capital of China ,its area code is %(beijing)s" % city_codes
 4 'beijing is the capital of China ,its area code is 010'
 5 >>> len(city_codes) #
 6 4
 7 >>> city_codes["beijing"]
 8 '010'
 9 >>> city_codes["nanjing"]="025"
10 >>> city_codes
11 {'tianjin': '022', 'beijing': '010', 'shanghai': '021', 'nanjing': '025', 'chongqing': '023'}
12 >>> del city_codes["shanghai"]
13 >>> "shanghai" in city_codes
14 False
15 >>>

键值对:映射关系

1 >>> city_codes={"beijing":"010","shanghai":"021","tianjin":"022","chongqing":"023"}
2 >>> city_codes["beijing"] #通过字典的key访问字典的值
3 '010'
4 >>> city_codes   #字典是无序的
5 {'tianjin': '022', 'beijing': '010', 'shanghai': '021', 'chongqing': '023'}
6 >>> "beijing is the capital of China ,its area code is %(beijing)s" % city_codes  #格式化字符串可以使用字典(注意)
7 'beijing is the capital of China ,its area code is 010'
8 >>>