字典

特点:{"key1": value1, "key2":value2}  , 键值对中的值可以为任何数据类型,键不能为列表、字典(无法哈希),布尔值可以为键(0/1)但是可能会与其他的键重复;字典的存储是无序的。

基本操作:

# 字典
info = {
"k1": 18,
2: True,
"k3": [11, 22, 33],
"k4": {"kk1": "vv1", "kk2": (44, 55)},
"k5": (66, 77)
} # 通过索引找到指定元素
v = info["k4"]["kk2"][0]
print(v)

输出:


# 字典支持 del 删除
del info["k4"]["kk2"]
print(info)

输出:

{'k1': 18, 2: True, 'k3': [11, 22, 33], 'k4': {'kk1': 'vv1'}, 'k5': (66, 77)}
# for 循环遍历列表(默认输出键)
for i in info.keys(): # keys()可以省略
print(i)

输出:

k1
2
k3
k4
k5
# for 循环输出值
for i in info.values():
print(i)

输出:

18
True
[11, 22, 33]
{'kk1': 'vv1', 'kk2': (44, 55)}
(66, 77)
# for 循环输出键值对
for k, v in info.items():
print(k, v)

输出:

k1 18
2 True
k3 [11, 22, 33]
k4 {'kk1': 'vv1', 'kk2': (44, 55)}
k5 (66, 77)

方法:

  1、clear()

  2、copy() (浅拷贝)

  参考Python - 基本数据类型及其常用的方法之字符串篇

  3、fromkeys()(静态方法:类名加方法引用)

# 根据序列, 创建字典, 并指定统一的值
v = dict.fromkeys(["wo", "ai", "ni"], "wyj")
print(v)

输出:

{'wo': 'wyj', 'ai': 'wyj', 'ni': 'wyj'}

  3、get()

info = {"k1": "v1"}
# 根据key获取值,当key不存在时,返回指定的值
# 当key不存在时且未指定返回值时返回None
v = info.get("k1")
print(v)
v = info.get("k2", 111)
print(v)

输出:

v1
111

  4、pop()

info = {
"k1": "v1",
"k2": "v2"
}
# 删除并获取值
v = info.pop("k1") # 指定键值对中的键并删除
print(info, v)

输出:

{'k2': 'v2'} v1
v = info.pop("k3", 111) # 指定的键不存在时,不删除返回指定的值
print(info, v)

输出:

{'k1': 'v1', 'k2': 'v2'} 111

  5、poplines()

info = {
"k1": "v1",
"k2": "v2"
}
# 随机删除并获取值
# v = info.popitem()
# print(info, v)
k, v = info.popitem()
print(info, k, v)

输出:

{'k1': 'v1'} k2 v2

  6、setdefault()

info = {
"k1": "v1",
"k2": "v2"
}
# 设置值
# 若指定的key已存在,不设置,获取对应的value值
# 若指定的key不存在,设置,获取对应的指定的key的value值
v = info.setdefault("k1", 123)
print(info, v)
v = info.setdefault("k3", 123)
print(info, v)

输出:

{'k1': 'v1', 'k2': 'v2'} v1
{'k1': 'v1', 'k2': 'v2', 'k3': 123} 123

  7、update()

info = {
"k1": "v1",
"k2": "v2"
}
# 覆盖已存在的,添加未存在的
info.update(k1=123, k2=456, k3="wyj") # info.update({"k1": 123, "k2": 456, "k3": wyj})
print(info)

输出:

{'k1': 123, 'k2': 456, 'k3': 'wyj'}

布尔值

特点:bool(True/False)  其中None、 {}、 []、0、()、“”==> False,其他都为True

Python - 基本数据类型及其常用的方法之字典和布尔值的更多相关文章

  1. Python - 基本数据类型及其常用的方法之元组

    元组 特点:一级元素无法被修改,且不能被增加或者删除. 基本操作: tu = (11, 22, ["aiden", 33, ("qwe", 11)], 77) ...

  2. Python - 基本数据类型及其常用的方法之数字与字符串

    数字(int): 1.int()(将字符串换为数字) a = " print(type(a), a) b = int(a) print(type(b), b) num = "a&q ...

  3. Python - 基本数据类型及其常用的方法之列表

    列表: 特点:用 [] 括起来,切元素用逗号分隔:列表内的元素可以为任何的数据类型. 列表的基本操作: 1.修改 li = [12, 5, 6, ["Aiden", [2, 4], ...

  4. Python 数据类型,常用函数方法分类

    Python基本数据类型:(int) 字符串(str)列表(list)元组(tuple)字典(dict)布尔(bool) python中可以简单使用 类型(数据)创建或转换数据 例: #字符串转数字 ...

  5. Python3的基本数据类型及常用的方法

    python3的基本数据类型: 在python3当中有这么几种基本的数据类型:int(整形).str(字符串).list(列表).tuple(元组).dict(字典).bool(布尔值)等.数字整体划 ...

  6. python之数据类型的内置方法(set、tuple、dict)与简单认识垃圾回收机制

    目录 字典的内置方法 类型转换 字典取值 修改值 计算字典长度 成员运算 删除元素 获取元素 更新字典 快速生成字典 setdefault()方法 元组的内置方法 类型转换 索引与切片操作 统计长度 ...

  7. python基本数据类型及常用功能

    1.数字类型 int -int(将字符串转换为数字) a = " print(type(a),a) b = int(a) print(type(b),b) num = " v = ...

  8. python之数据类型的内置方法(str, list)

    目录 字符串的内置方法 移除首尾指定字符 字母大小写相关操作 判断字符串的开头或结尾是否是指定字符 字符串特殊的输出方法 拼接字符串 替换指定字符 判断是否是纯数字 查找指定字符对应的索引值 文本位置 ...

  9. Python的数据类型3元组,集合和字典

    首先要讲到的就是元组 元组其实拥有列表的一些特性,可以存储不同类型的值,但在某些方面元组又比不上列表 定义一个元组,你可以不用加‘ [ ] ’,你只需用逗号隔开即可 例如 1 2 3 4 5 6 7 ...

随机推荐

  1. 固定定位fixed,绝对定位absolute,相对定位relative;以及overflow

    固定定位position:fixed /*固定定位 1.定位属性值:fixed 2.在页面中不再占位(浮起来了) 3.一旦定位后,定位的布局方位 top.bottom.left.right都能参与布局 ...

  2. 关于延迟加载(lazy)和强制加载(Hibernate.initialize(Object proxy) )

    PO 即Persistence Object VO 即Value Object PO 和VO 是Hibernate 中两个比较关键的概念. 首先,何谓VO,很简单,VO 就是一个简单的值对象. 如:  ...

  3. C语言进阶学习第一章

    1.在C语言里面使用scanf给某个变量赋值时候,如果成功返回1,失败返回0:测试代码如下: /***假如在键盘输入的不是整形数据,则输出0,否则输出1***/ void main() { int a ...

  4. Object 和Throwable

    Object java.lang.Object 所有类的超类 Object里面有的方法所有的类都有 Object方法: String toString() 返回对象的字符串表现形式  类名 + @ + ...

  5. 批量更新mysql表数据

    1.批量更新表中某个字段,如果表比较大,每条记录都执行一条update,1s执行10条数据,10万条数据就要1W秒,3个多小时. 2.可以用case when 来实现,模板如下 UPDATE cate ...

  6. <每日一题>题目14:拷贝的问题

    ''' 拷贝的问题 引用:无论怎么变都一起变 浅拷贝:只拷贝父对象,不会拷贝父对象中的子对象 深拷贝:完全拷贝,重新划分内存空间 ''' 具体如下图: 题目: #求a.b.c.d的值 import c ...

  7. 2019-5-29-Roslyn-让-VisualStudio-急速调试底层库方法

    title author date CreateTime categories Roslyn 让 VisualStudio 急速调试底层库方法 lindexi 2019-5-29 20:2:9 +08 ...

  8. reg命令详解

    reg命令是Windows提供的,它可以添加.更改和显示注册表项中的注册表子项信息和值. 1,reg add 将新的子项或项添加到注册表中  语法:reg add KeyName [/v EntryN ...

  9. UNIX环境高级编程------apue.h找不到

    运行1-3代码时,出现问题:apue.h 没有找到问题 1.去此网址下载源码: http://www.apuebook.com/code3e.html 压缩包名为:src.3e.tar.gz 2.解压 ...

  10. 数据结构_冒泡排序(python)

    1.核心思想:比较两个元素,如果前一个比后一个大则进行交换,经过对每个元素的比较,最后最大的元素被放在在最后位置 操作方法: 外层正常for循环遍历,到n-1位,内层for循环相邻两个数比较大小,小数 ...