1、数据类型概述

① 工程项目中根据数据类型的特点,将python中的数据类型,区分为基本数据类型、组合数据类型以及复杂数据类型;

基本数据类型中又区分为字符串str类型,用来描述信息;整数类型int以及浮点数类型float,用来描述数值;布尔类型bool,用来描述只有两种结果的数据。

  • 组合数据类型又区分为列表list,可以存放有顺序的可以重复的可以是不同数据类型的多个数据;
  • 元组tuple,和列表的特征相同,同时元组中的数据不能修改;
  • 集合set中可以存放不能重复的没有顺序的可以是不同数据类型的数据;
  • 字典dict用来按照key:value这样的键值对存放多组有顺序的、key不能重复但是value可以重复的多组数据。
    复杂数据类型用来描述一些数据较为复杂的对象的。

② python官方将使用的数据类型区分为两种数据类型,基础数据类型和复杂数据类型基础数据类型包含描述信息的字符串str,描述数值的整数int、浮点数float以及描述只有两种结果数据的布尔类型bool

  • 复杂数据类型就是通过class定义的类型,用来描述包含复杂属性数据的对象类型

2、组合数据类型

组合类型主要是用来在一个容器中存储多个数据的数据类型。

(1) 列表-list

列表:组合数据类型的一种,主要用于存放有顺序的、可以重复的、可以是不同的数据类型的多个数据。

# 声明列表
lst = list()
lst = []
# 列表切片查询
lst[start:end:step]  # 高级查询:范围查询
# 列表常规操作
L.append()/L.insert()/L.extend()/
L.pop()/L.pop(index)/L.remove(obj)/L.clear()/del L
L.count(obj)/L.index(obj)
L.sort()/L.reverse()
L[index] = data
print(L[index])
print(len(L))

① 列表的拓展:推导式

基本语法:
变量 = [推导式]
根据推导式的条件,直接获取数据组成一个新的列表
变量 = [临时变量 for 临时变量 in 一串数据][x[0]    for   x      in   lst]for循环遍历一串数据,得到数据之后组成一个新的列表,参考综合案例1
变量 = [临时变量 for 临时变量 in 一串数据 if 条件][x      for   x      in  range(1, 20) if x % 2 == 0]for循环遍历一串数据,得到的数据经过if条件筛选组成新的列表数据
变量 = [临时变量1,临时变量2 for 临1 if 临1条件 for 临2 if 临2条件]推导式中使用两个for循环组织数据

综合案例:
有一个列表lst = [[1,2,3], [4,5,6], [7,8,9]]

a.需要从上面的列表获取一个新的列表[1,4,7],应该怎么操作?代码实现以下

b.需要从上面的列表获取一个新的列表[1,5,9],应该怎么操作?代码实现以下

c.需要从上面的列表获取一个新的列表[1,2,3,4,5,6,7,8,9],应该怎么操作?

d.爬虫需要定时采集实时数据,每天每个小时间隔半个小时采集一次数据,请按照要求定义好时间列表?

(2) 元组-tuple

① 什么是元组

  • 元组是python中组合数据类型的一种,使用关键字tuple表示
  • 元组中可以存放 有顺序的、可以重复的、可以是不同数据类型的 多个数据,数据一旦存放到元组中,数据不允许被修改(更换)。

② 元组的声明

常见问题:声明一个元素的元组

声明非空元组

元组的使用场景:工程项目中什么情况下使用元组?

元组用在项目中的一些固定数据的声明上,在工程开发过程中为了保证一些特定数据不被误操作修改导致
项目出现问题,可以选择使用元组来强制约束固定的数据
如:hero_line = ("上单", "下单", "中单", "打野", "辅助")

③ 元组的操作方式

help()怎么操作?
T.count(obj):查询数据obj在元组中出现的个数
T.index(obj):查询数据obj在元组中出现的位置

(3) 集合-set

① 什么是集合

  • 集合是Python中组合数据类型的一种,python语法中使用关键字set表示
  • 集合中可以存放 没有顺序的、不能重复的、可以是不同数据类型的多个数据!

② 集合的声明

声明一个空集合

声明非空集合
推荐使用第二种

③ 集合的操作

① 查看集合的操作方式:dir()

② 单个集合的操作

  • add(obj): 向集合中增加一个数据
  • discard(obj): 删除集合中的一个指定数据(如果数据不存在就什么都不做)
  • remove(obj):删除集合中的一个指定数据(如果数据不存在就报错)
  • pop(): 随机删除集合中的一个数据
  • clear(): 清空集合中的数据
  • copy(): 复制一个集合

③ 多个集合的操作

s1 = {1,2,3,4,5,6}
s2 = {4,5,6,7,8,9}
s1.difference(s2):s1集合相对于s2集合的差集
s1.difference_update(s2):s1集合相对于s2集合的差集,将数据赋值给s1
s1.symmetric_difference(s2):获取s1和s2共同的差集
s1.symmetric_difference_update(s2):xxxxxx
s1.intersection(s2): s1集合和s2集合的交集
s1.intersection_update(s2): 获取s1和s2的交集,将交集数据赋值给s1
s1.union(s2): 获取s1和s2的并集
s1.update(s2): 获取s1和s2的并集,并将所有数据赋值给s1

(4) 字典-dict

① 什么是字典

  • 字典是Python中的组合数据类型之一,使用关键字dict表示。
  • 字典中可以存储多个key:value(键值对)数据,key不能重复,value可以重复,字典中可以直接通过key获取到对应的value数据。

② 声明字典

#声明空字典
dct1 = dict()
print(dct1,type(dct1))
# {} <class 'dict'>
dct2 = {}
print(dct2,type(dct2))
# {} <class 'dict'>
声明非空字典
#声明空字典
dct1 = dict([("地址","CSDN"),("作者","dongai_lei")])
print(dct1,type(dct1))
#{'地址': 'CSDN', '作者': 'dongai_lei'} <class 'dict'>
dct2 = {"地址":"CSDN","作者":"dongai_lei"}
print(dct2,type(dct2))
#{'地址': 'CSDN', '作者': 'dongai_lei'} <class 'dict'>

③ 字典的操作


字典中增加数据

# 向字典中增加数据
d = {}
d["666"] = "CSDN"  # 使用较多的方式
# 一次只能增加一个键值对数据
d.setdefault("作者","dongai")
# 一次增加多个键值对数据
d.update({"战士":"诺克萨斯之手","ADC":"伊泽瑞尔"})
print(d)


字典中修改数据

# 修改字典中的数据 :修改Value的值
d["AD"] = "薇恩"
# key存在的情况下会修改数据
d.update({"鬼谷子":"小谷"})

字典中删除数据

#字典中删除数据
d.pop("666")  #使用较多的操作
d.popitem()  #随机删除有一个
del d["作者"] #使用python变量操作语法
d.clear()  #清空字典中的所有数据
print(d)

字典中查询数据

# 查询数据
d = {'666': 'CSDN','作者': 'dongai', '战士': '诺克萨斯之手','ADC': '伊泽瑞尔'}
print(d["666"])  #通过key查询value数据
print(d.get("666"))  #通过key查询value数据(只能用来查询)
print(d.keys())  #获取所有的key数据
print(d.values())  #获取所有的value数据
print(d.items())  #获取所有的key:value数据

特殊查询:遍历数据

#遍历字典中的数据
for key in d.keys():# 循环遍历key数据print("key:",key,",value:",d.get(key))
print("----------------------")
for key,value in d.items():print("key:",key,";value:",value)

6.组合数据类型(列表list,元组tuple,集合set,字典dict)相关推荐

  1. python列表转集合_Python数据类型 列表、元组、集合、字典的区别和相互转换

    一:数据类型 列表.元组.集合.字典的区别 列表元组集合字典 英文 list tuple set dict 可变与不可变类型 可变类型 不可靠类型 可变类型 可变类型 可否重复 是 是 否 是 存储方 ...

  2. python 列表、元组、集合、字典、循环遍历数据结构

    python 列表.元组.集合.字典.数据结构的循环(整理自python文档) 列表-list-用方括号标注,逗号分隔的一组值 list 的 方法 对list添加.插入.删除.查找.排列.翻转 lis ...

  3. Python语法——列表、元组、集合、字典

    Python语法--列表.元组.集合.字典 综述: 列表(List) [ ] 是一种有序和可更改 的集合.允许重复的成员. 元组(Tuple) ( ) 是一种有序且不可更改的集合.允许重复的成员. 集 ...

  4. python字典(dict)+常用方法操作+列表、元组、集合、字典的互相转换

    python字典(dict)+常用方法操作+列表.元组.集合.字典的互相转换 字典也是 Python 提供的一种常用的数据结构,它用于存放具有映射关系的数据. 为了保存具有映射关系的数据,Python ...

  5. 字符串、列表、元组、集合、字典综合对比

    一.概念 字符串string:一系列字符,使用引号来创建"" 列表list:一系列按特定顺序排列的元素组成,创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可[] 元组 ...

  6. Python之组合数据类型(列表、元组、集合、字典)

    第1关:列表及操作 #coding = utf-8 #********* Begin *********# #第一步 请在列表fruit中找出不属于水果一类元素,赋值给变量 a fruit = [&q ...

  7. Python之组合数据类型(列表、元组、字典、集合)

    列表.元组.字典.集合 一.列表 1.1 列表的表达 1.2 列表的性质 1.3 列表的操作符 1.4 列表的操作方法 二.元组 2.1 元组的表达 2.2 元组的操作 2.3 元组的常见用处 三.字 ...

  8. Python基础知识总结—数据类型,列表,元组,集合,字典

    目录 数据类型 列表 元组 集合 字典 数据类型 列表 列表(动态数组) 定义空列表[ ] list()可以将其他序列转为列表 如:str类型 列表和字符串一样接收索引与切片 list[索引:切片:步 ...

  9. 【Python Interview】Python列表、元组、集合与字典

    文章目录 list(列表) 定义 操作 增 删 查 改 判断 脚本操作 排序 切片 tuple(元组) 定义 与列表的转化 set(集合) 定义 操作 增 删 其他操作 dict(字典) 定义 操作 ...

最新文章

  1. 跟我学Springboot开发后端管理系统9:AOP+logback+MDC日志输出
  2. 外包干了四年,废了!
  3. 雷达 lidar slam
  4. azure devops中文显示乱码_【Azure DevOps系列】Azure DevOps生成代码覆盖率
  5. 解放程序员双手!GPT-3自动生成SQL语句 | 代码开源
  6. python android自动化元素定位_linux下Appium+Python移动应用自动化测试实战---3.手把手教你定位元素编写测试用例...
  7. BZOJ 2402 陶陶的难题II (树链剖分、线段树、凸包、分数规划)
  8. ITK:区域最小图像过滤器
  9. 交互式地图_张晟推出学校资源交互式地图工具
  10. 基于winpcap的网络数据包的捕获与分析
  11. What's new document web part for SharePoint v1.1 [Free]
  12. Mybatis 的日志管理
  13. 正点原子STM32F103(精英版)------STM32时钟系统
  14. JAVA架构师学习路线图(绝对详细)
  15. 网站速度这样优化,让你的网站飞起来
  16. Hybrid App 开发快速指南
  17. 2.4gwifi最高下载速度_2.4g网速(2.4gwifi最高下载速度)
  18. 自动化测试的优缺点分析
  19. python:网络爬虫之遍历单个域名获取电影名称及年份
  20. 如何通过银行卡号 判断归属银行

热门文章

  1. electron-vue邮件客户端总结
  2. elasticsearch学习和实践01
  3. 关于MEMS的技术简介
  4. 【清橙A1084】【FFT】快速傅里叶变换
  5. 算法设计-卡布列克圆舞曲
  6. ipad 邮箱服务器端口,ipad企业邮箱设置方法 ipad企业邮箱怎么设置【详细介绍】...
  7. 企业邮箱怎么注册账号?忘记邮箱密码怎么修改密码?
  8. spark 1.5.x Unable to acquire 33554432 bytes of memory
  9. linux PC进不了pe 引导,【U盘模式无法引导进入pe系统】u盘启动无法进入pe系统_电脑无法进入pe系统-系统城...
  10. windows虚拟机打不开文件D:/xxx/xx 000008.vmdk 系统找不到指定文件