字典

字典的基本结构

#   字典, 键值对 dict类
# 字典的基本结构
# 字典的值可以是任何值
# 字典的键不能是列表,字典, 最好也不要用布尔值(可能会和1和0重复)
# 字典无序,
my_dict = {
"k1": "v1", # 键值对
"k2": "v2",
"k3": 12,
"k4": [
1, 2,
[],
(),
{
"kk1": 11,
"kk2": 12,
}
],
(1, 2, 3): "数字"
}
print(my_dict)

索引找到指定元素 提取v1, 11

v = my_dict["k1"]
v2 = my_dict['k4'][4]["kk1"]
print(v, v2)
# 字典支持del删除
del my_dict["k2"]

遍历字典

#   默认遍历key, 这里显示的是 所有的key
# 等价于 in my_dict.keys(), 同样也有 in my_dict.values()
for item in my_dict:
print(item) for item in my_dict:
print(item, my_dict[item])
# 遍历字典二
for key, value in my_dict.items():
print(key, value) dic = {
"k1": 'v1',
"k2": 'v2',

遍历字典的常用函数 kyes(), values(), items(), update(),get()

# def update(self, E=None, **F)
# 更新字典, 有的 改变, 没有的自动添加
dic.update({'k2':1234, 'k10':10})
print(dic) # 根据key获取值,当key不存在时可以指定默认值,默认值不存在时(None)
# def get(self, k, d=None)
# my_dict.get('k1')
keys(), values(), items()参考上面的遍历字典

字典的其他函数

# def clear(self)
# def copy(self) # @staticmethod # known case 静态方法, 可以直接用dict调用
# def fromkeys(*args, **kwargs)
# 根据序列,创建字典 以你个的参数作为键值对
v = dict.fromkeys([1,2,3], [4,5])
print(v) # def setdefault(self, k, d=None)
# 设置值, 如果key不存在, 就添加,('k5':12) 存在就不变
dic.setdefault('k5', 12)
print(dic)

集合 set

集合的基本结构

            集合:可以包含多个元素,用逗号分割,
集合的元素遵循三个原则:
1:每个元素必须是不可变类型(可hash,可作为字典的key)
2:没有重复的元素
3:无序 注意集合的目的是将不同的值存放到一起,不同的集合间用来做关系运算,无需纠结于集合中单个值
#   不同元素组成, 无序, 集合中必须是不可变类型,(int, str, 元组)
#优先掌握的操作:
#1、长度len
#2、成员运算in和not in #3、|合集
#4、&交集
#5、-差集
#6、^对称差集
#7、==
#8、父集:>,>=
#9、子集:<,<=
s = {1, 2, 3, 4, 5}
print(s)
# set
s = set('')
print(s)
s = set(['haha', 'heihi', 'heng'])
print(s)

集合的基本操作

#   添加一个元素
# def add(self, *args, **kwargs)
s.add(('', 'heihi', 'ni'))
print(s) # 清空
# def clear(self, *args, **kwargs)
# 浅拷贝
# def copy(self, *args, **kwargs): # pop随机删除, remove删除指定的, remove如果删除的元素不存在 就回报错
# def pop(self, *args, **kwargs)
# s.pop()
# s.remove('123')
# def remove(self, *args, **kwargs)
# 删除一个元素, 如果元素不存在 也不报错
# def discard(self, *args, **kwargs)

集合的并交差运算

#   集合运算,并交差

p = ['a', 'b', 'c', 'd']
l = ['a', 'c', 'e']
p_s = set(p)
l_s = set(l)
# 求交集s1&s2
# def intersection(self, *args, **kwargs)
print(p_s.intersection(l_s))
print(p_s & l_s) # 求差集 def difference(self, *args, **kwargs)
# p_s 中有而 l_s没有的
print(p_s.difference(l_s))
print(p_s - l_s) # 求并集
print(p_s.union(l_s))
print(p_s | l_s) # 求交叉补集
print(p_s.symmetric_difference(l_s))
print(p_s ^ l_s) # 补充
# p_s.difference_update(l_s)
# 等价于
# p_s = p_s - l_s
# 判断子集, 也有>= isup
print(p_s.issubset(l_s))
print(p_s <= l_s)

利用集合去重

#   简单去重操作
my_list = [1, 2, 3, 'a', 'b', 1, 2, 'a']
# m_s = set(my_list)
my_list = list(set(my_list))

基本数据类型常用方法总结

# 常用数据类型的方法
# int 常用 int()
# 字符串
# find/replace/join/strip/startwith/split/upper/lower/format(in)
# 列表
# append/extend/insert, 索引,切片,循环(in)
# 元组
# 忽略, 但是要知道 索引,切片,循环, 一级元素 不可以修改(in)
# 字典
# get/update/keys/values/items, 循环,索引, (in)
# 判断是否存在,dic可以是字典,列表,字符串,元组
# v = 'aa'in dic # 布尔值
# bool()
# 其中为空的有None, '', (),[],{},0 ==>False

python数据类型之三的更多相关文章

  1. python 数据类型---布尔型& 字符串

    python数据类型-----布尔型 真或假=>1或0 >>> 1==True True >>> 0==False True python 数据类型----- ...

  2. Python 数据类型及其用法

    本文总结一下Python中用到的各种数据类型,以及如何使用可以使得我们的代码变得简洁. 基本结构 我们首先要看的是几乎任何语言都具有的数据类型,包括字符串.整型.浮点型以及布尔类型.这些基本数据类型组 ...

  3. day01-day04总结- Python 数据类型及其用法

    Python 数据类型及其用法: 本文总结一下Python中用到的各种数据类型,以及如何使用可以使得我们的代码变得简洁. 基本结构 我们首先要看的是几乎任何语言都具有的数据类型,包括字符串.整型.浮点 ...

  4. Python数据类型及其方法详解

    Python数据类型及其方法详解 我们在学习编程语言的时候,都会遇到数据类型,这种看着很基础也不显眼的东西,却是很重要,本文介绍了python的数据类型,并就每种数据类型的方法作出了详细的描述,可供知 ...

  5. Python学习笔记(五)--Python数据类型-数字及字符串

    Python数据类型:123和'123'一样吗?>>> 123=='123'False>>> type(123)<type 'int'>>> ...

  6. python数据类型之元组、字典、集合

    python数据类型元组.字典.集合 元组 python的元组与列表类似,不同的是元组是不可变的数据类型.元组使用小括号,列表使用方括号.当元组里只有一个元素是必须要加逗号: >>> ...

  7. 1 Python数据类型--

    常见的Python数据类型: (1)数值类型:就是平时处理的数字(整数.浮点数) (2)序列类型:有一系列的对象并排或者排列的情况.如字符串(str),列表(list),元组(tuple)等 (3)集 ...

  8. Python数据类型和数据操作

    python数据类型有:int,float,string,boolean类型.其中string类型是不可变变量,用string定义的变量称为不可变变量,该变量的值不能修改. 下面介绍python中的l ...

  9. Python数据类型(python3)

    Python数据类型(python3) 基础数据类型 整型 <class 'int'> 带符号的,根据机器字长32位和64位表示的范围不相同,分别是: -2^31 - 2^31-1 和 - ...

随机推荐

  1. Salesforce 开发新工具 - Visual Studio Code

    最近尝试使用Visual Studio Code来做Salesforce的开发工具,体验上比Sublime好用不少,介绍下详细步骤 第一步:下载对应版本的Visual Studio Code 下载地址 ...

  2. AD域配置以及开发机加入AD域

    1. windows server 2012 添加AD域 : https://www.cnblogs.com/chenjiangfeng/p/9706483.html 2. 配置成功后重启AD域服务器 ...

  3. fiddler抓包-4-简单对数据进行mock

    前言 Fiddler中有一个 AutoRespinder 选项,我们可以用它作为mock数据,可以修改它的参数等等.所有信息的返回,与我们断点类似,但这里也可以mock状态码直接是404或者跳转至另一 ...

  4. IDEA整合GIT所有操作

    IDEA整合GIT操作 1.1 配置Idea集成Git 1.2 在使用SSH key 创建公钥私钥,上传公钥到github (1).点击开始菜单-->所有程序--->git选择 Git B ...

  5. arcgis js api 4.X 自定义工具按钮

    // All material copyright ESRI, All Rights Reserved, unless otherwise specified. // See https://js.a ...

  6. Java学习:JDK8的新特性

    Java学习:JDK8的新特性 一.十大特性 Lambda表达式 Stream函数式操作流元素集合 接口新增:默认方法与静态方法 方法引用,与Lambda表达式联合使用 引入重复注解 类型注解 最新的 ...

  7. Mysql系列(五)—— 分页查询及问题优化

    一.用法 在Mysql中分页查询使用关键字limit.limit的语法如下: SELECT * FROM tbl LIMIT 5,10; # Retrieve rows 6-15 limit关键字带有 ...

  8. 浅析libuv源码-node事件轮询解析(1)

    好久没写东西了,过了一段咸鱼生活,无意中想起了脉脉上面一句话: 始终保持自己的竞争力.所以,继续开写! 一般的JavaScript源码看的已经没啥意思了,我也不会写什么xx入门新手教程,最终决定还是啃 ...

  9. MySQL、HBase、ES的对比

    hbase是列数据库,是kv结构的,ES的基于Lucene的搜索引擎的面向文档数据库吧 ES是搜索引擎,主要的优势在于快速搜索,HBase是数据库,优势在于存储数据,侧重点不同 MySQL:关系型数据 ...

  10. redis的主从复制,哨兵值守

    环境: 主服务器:192.168.10.10    Centos 7  redis-5.0.4 从服务器:192.168.10.129  Centos 7  redis-5.0.4 从服务器:192. ...