Python - 基本数据类型及其常用的方法之字典和布尔值
字典
特点:{"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 - 基本数据类型及其常用的方法之字典和布尔值的更多相关文章
- Python - 基本数据类型及其常用的方法之元组
元组 特点:一级元素无法被修改,且不能被增加或者删除. 基本操作: tu = (11, 22, ["aiden", 33, ("qwe", 11)], 77) ...
- Python - 基本数据类型及其常用的方法之数字与字符串
数字(int): 1.int()(将字符串换为数字) a = " print(type(a), a) b = int(a) print(type(b), b) num = "a&q ...
- Python - 基本数据类型及其常用的方法之列表
列表: 特点:用 [] 括起来,切元素用逗号分隔:列表内的元素可以为任何的数据类型. 列表的基本操作: 1.修改 li = [12, 5, 6, ["Aiden", [2, 4], ...
- Python 数据类型,常用函数方法分类
Python基本数据类型:(int) 字符串(str)列表(list)元组(tuple)字典(dict)布尔(bool) python中可以简单使用 类型(数据)创建或转换数据 例: #字符串转数字 ...
- Python3的基本数据类型及常用的方法
python3的基本数据类型: 在python3当中有这么几种基本的数据类型:int(整形).str(字符串).list(列表).tuple(元组).dict(字典).bool(布尔值)等.数字整体划 ...
- python之数据类型的内置方法(set、tuple、dict)与简单认识垃圾回收机制
目录 字典的内置方法 类型转换 字典取值 修改值 计算字典长度 成员运算 删除元素 获取元素 更新字典 快速生成字典 setdefault()方法 元组的内置方法 类型转换 索引与切片操作 统计长度 ...
- python基本数据类型及常用功能
1.数字类型 int -int(将字符串转换为数字) a = " print(type(a),a) b = int(a) print(type(b),b) num = " v = ...
- python之数据类型的内置方法(str, list)
目录 字符串的内置方法 移除首尾指定字符 字母大小写相关操作 判断字符串的开头或结尾是否是指定字符 字符串特殊的输出方法 拼接字符串 替换指定字符 判断是否是纯数字 查找指定字符对应的索引值 文本位置 ...
- Python的数据类型3元组,集合和字典
首先要讲到的就是元组 元组其实拥有列表的一些特性,可以存储不同类型的值,但在某些方面元组又比不上列表 定义一个元组,你可以不用加‘ [ ] ’,你只需用逗号隔开即可 例如 1 2 3 4 5 6 7 ...
随机推荐
- http://ajax.open-open.com/ ajax开源家园
http://ajax.open-open.com/ 本站为广大OPEN爱好者搭建了一个OPEN家园,大家可以方便快捷地发布日志.上传照片,分享生活中的精彩瞬间:与好友一起玩转游戏,增加好友感情:创建 ...
- JS 变量的数据类型转换
变量的类型转换,一般情况是JS自动转换的,但也有些时候需要手动转换. 1.其它类型转成布尔型 函数和方法的区别 Boolean(a) //函数是可以独立使用的 document.write(a) ...
- 5.1_Spring Boot2.x安装Docker
1.简介 Docker是一个开源的应用容器引擎:是一个轻量级容器技术: Docker 是一个开源的应用容器引擎,基于Go 语言并遵从Apache2.0协议开源.Docker 可以让开发者打包他们的应用 ...
- 16-1-es5
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- mybatis-spring多数据源配置
mybatis-spring多数据源配置 1.注意事项:在MapperScannerConfigurer里配置的时候,每个数据源的mapper接口应放到不同的包中,下面的例子中用粗体标明,另外,对于m ...
- select函数使用
这两天写了这么一段代码,select直接返回-1,错误信息是“invalid argments”,显然没有达到阻塞超时的效果. 代码如下: bool IsSocketWaitRead(inf fd,i ...
- vue 简单留言本
代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8 ...
- 提高Modelsim仿真速度的方法(1) -- force
假如主驱动时钟频率很高,因为要一个周期输出,仿真时间过长,仿真速度慢是自然. 但是仿真中,并不是每个驱动周期都是必要的,这时可以使用force命令把想要的信号提前制造出来. 事实上,对于使用到PLL的 ...
- 基于 RocketMQ 的同城双活架构在美菜网的挑战与实践
本文整理自李样兵在北京站 RocketMQ meetup分享美菜网使用 RocketMQ 过程中的一些心得和经验,偏重于实践. 嘉宾李样兵,现就职于美菜网基础服务平台组,负责 MQ ,配置中心和任务调 ...
- C++写矩阵的转置
(2019年2月19日注:这篇文章原先发在自己github那边的博客,时间是2017年2月5日) 对于任意非n阶矩阵的转置,用c++应该怎么写代码,思考了一下,发现并没有那么简单,上网找到了一个比较好 ...