当前位置: 首页 > news >正文

python 字典属于_Python字典

python字典

1.1 字典的定义

dictionary(字典) 是 除列表以外 Python 之中 最灵活 的数据类型

字典同样可以用来 存储多个数据

通常用于存储 描述一个 物体 的相关信息

和列表的区别

列表 是 有序 的对象集合

字典 是 无序 的对象集合

字典用 {} 定义

字典使用 键值对 存储数据,键值对之间使用 , 分隔

键 key 是索引

值 value 是数据

键 和 值 之间使用 : 分隔

键必须是唯一的

值 可以取任何数据类型,但 键 只能使用 字符串、数字或 元组

xiaoming = {"name": "小明",

"age": 18,

"gender": True,

"height": 1.75}

815fa0d1c6d7e6999052ccb4cda19b87.png

1.2 字典常用操作

在 ipython3 中定义一个 字典,例如:xiaoming = {}

输入 xiaoming. 按下 TAB 键,ipython 会提示 字典 能够使用的函数如下:

In [1]: xiaoming.

xiaoming.clear xiaoming.items xiaoming.setdefault

xiaoming.copy xiaoming.keys xiaoming.update

xiaoming.fromkeys xiaoming.pop xiaoming.values

xiaoming.get xiaoming.popitem

有关 字典 的 常用操作 可以参照上图练习

#先定义字典

dict1 = {"math": "Kevin", "logic": "Emily"}

#返回指定键的值,如果字典里没这个可以则返回default的值

#获取math的值

dict1.get("math")

#获取不存在的值English, 则返回Ray

my_dict.get("English", "Ray")

#获取字典里的所有key

dict1.keys()

#获取字典所有的values

dict1.values()

#获取字典的key和value

for k, v in dict1.items():

print('{key} -- {value}'.format(key=k, value=v))

#改变字典的值

dict1["math"] = "Ray" # 执行后,字典变成{"math": "Ray", "logic": "Emily"}

#删除字典的某个值

del dict1["math"] #执行后,字典变成{"logic": "Emily"}

#删除字典

del dict1

# pop(key[,default])

#删除字典给定键 key 所对应的值,返回值为被删除的值,key值必须给出。否则,返回default值。

pop_obj = dict1.pop('math') #Kevin

pop_obj = dict1.pop('English','NoKey') #NoKey (没有 key,返回 default 值)

#popitem()

#随机返回并删除字典中的最后一对键和值。

#返回一个键值对(key,value)形式,按照LIFO(Last In First Out 后进先出法)顺序规则,即最末尾的键值对

pop_obj = dict1.popitem() #("logic", "Emily")

1.3 循环遍历

遍历 就是 依次 从 字典 中获取所有键值对

# for 循环内部使用的 `key 的变量` in 字典

for k in xiaoming:

print("%s: %s" % (k, xiaoming[k]))

提示:在实际开发中,由于字典中每一个键值对保存数据的类型是不同的,所以针对字典的循环遍历需求并不是很多

1.4 应用场景

尽管可以使用 for in 遍历 字典

但是在开发中,更多的应用场景是:

使用 多个键值对,存储 描述一个 物体 的相关信息 —— 描述更复杂的数据信息

将 多个字典 放在 一个列表 中,再进行遍历,在循环体内部针对每一个字典进行 相同的处理

card_list = [{"name": "张三",

"qq": "12345",

"phone": "110"},

{"name": "李四",

"qq": "54321",

"phone": "10086"}

]

相关文章:

  • java共享一个参数_java只有值传递(共享传递)
  • java中mouseMoved_Java – Swing中的mouseMoved()事件处理
  • php的hashmap,php如何实现hashmap
  • php创建表格,php 创建表
  • php 执行流程图,PHP底层设计及执行流程
  • java 过期缓存,带有过期密钥的Java基于时间的映射/缓存
  • php中两个变量都是string_内容也一样但是长度不一样,php基础知识期末考试题无答案...
  • java两个子线程通信,java – 两个线程如何在两个线程运行时进行通信?
  • php7 phpunittest,php - 如何用phpunit运行单一测试方法?
  • zabbix监控php,zabbix监控php状态
  • php语言的form,PHP语言 HTTP请求类,支持GET,POST,Multipart、form-data
  • JAVA定义一个狗看门,为什么我用接口实现狗看门的功能出错?
  • 查看php-fpm配置文件,php-fpm 配置文件检测
  • 用php查ip,php – 有效的ip-位置查询
  • php 怎么取出一个最大值,php max() min() 返回最大值和最小值