字典

特点:{"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. vue mounted组件的使用

    1.钩子函数  钩子函数是Windows消息处理机制的一部分,通过设置“钩子”,应用程序可以在系统级对所有消息.事件进行过滤,访问在正常情况下无法访问的消息.钩子的本质是一段用以处理系统消息的程序,通 ...

  2. POJ-2752-Seek the Name-kmp的变形

    The little cat is so famous, that many couples tramp over hill and dale to Byteland, and asked the l ...

  3. day 62 Django基础之jQuery操作cookie

    Django基础之jQuery操作cookie   jquery之cookie操作 定义:让网站服务器把少量数据储存到客户端的硬盘或内存,从客户端的硬盘读取数据的一种技术: 下载与引入:jquery. ...

  4. 19.SimLogin_case03

    # 模拟登录GitHub import requests from lxml import etree class Login(): def __init__(self): self.headers ...

  5. Window中在Intellij idea开发时常用快捷键

    以下idea中的快捷键是在window 7中确认过,如果快捷键不起作用,可能是该快捷键被其它软件占用,或系统不同导致. 1.Ctrl + Z:撤回代码: 2.Ctrl + Shift + Z:恢复撤回 ...

  6. ssm 框架整合 代码初步 maven配置

    pom.xml 配置<!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc --> <de ...

  7. 【期望DP】[zoj3329]One Person Game

    题描: 有三个均匀的骰子,分别有k1,k2,k3个面,初始分数是0, 当掷三个骰子的点数分别为a,b,c的时候,分数清零,否则分数加上三个骰子的点数和, 当分数>n的时候结束.求需要掷骰子的次数 ...

  8. 串口通信中,QString 、QByteArray 转化需要注意的问题

    在做串口通信的时候,其中犯了一个错误.在此记录一下:QT中串口通信接到收据和发送数据的接口如下: QByteArray QIODevice::readAll()//接受数据 qint64 QIODev ...

  9. RMQ问题——ST算法

    比赛当中,常会出现RMQ问题,即求区间最大(小)值.我们该怎样解决呢? 主要方法有线段树.ST.树状数组.splay. 例题 题目描述 2008年9月25日21点10分,酒泉卫星发射中心指控大厅里,随 ...

  10. CSS3中2D/3D转换、过渡、动画

    转换.过渡.动画 2D 转换 1.translate() 方法 通过 translate() 方法,元素从其当前位置移动,根据给定的 left(x 坐标) 和 top(y 坐标) 位置参数: 实例 d ...