python基础-元组-集合-字典
元组
概念
元组:由一系列变量组成的不可变序列容器 序列:支持索引和切片 不可变:1.没有增删改的方法
2.所有的操作都不会直接作用于原数据
定义
<span style="font-size: 16px;" data-mce-style="font-size: 16px;">元组 tuple () #1.定义多个数据的元组
tuple1 = (1,2.9,"3",[1,2,3],5)
tuple2 = 1,2.9,"3",[1,2,3],5
print(tup;e2) #(1,2.9,"3",[1,2,3],5)
print(type(tuple2)) #class tuple #2.定义单个数据的元组--->单个数据后需要加逗号
#如果不加逗号,当前变量与元素的类型一致
tuple3 = ("2.3",)
print(tuple3) #("2.3")s索引<br></span>
索引
1 tuple1 = (1,2.9,"3",[1,2,3],5)
2 #索引
3 #元组[索引]
4 #从左往右,从0开始,从右往左,从-1开始
5 print(tuple1[3]) #[1,2,3]
6 print(tuple1[-3]) #"3"
切片
tuple1 = (1,2.9,"3",[1,2,3],5) #切片
#元组[开始下标:结束下标:步长]
#1.取头不取尾
#2.步长不写默认为1,步长可以是正负数
#3.下标可以正负数混搭
#4.[:m] 从开头取到下标为m的前一位
#5.[n:] 从下标为n的位置取到最后
#6.[:] [::] 取整个元组
#7.[::-1] 反转
print(tuple1[1:4])
print(tuple1[-4:-1])
print(tuple1[1:-1])
print(tuple1[-4:4])
print(tuple1[:3])
print(tuple1[3:])
print(tuple1[:])
print(tuple1[::])
print(tuple1[::-1])
查询方法
index():统计元素在元组中第一次出现的位置的下标:如果元素不存在则报错
count():统计元素在元组中出现的次数:如果元素不存在则返回0
补充方法
tuple = ("hello",26,37,8,54,12,"hello",8,9)
#补充方法:
#len()
#语法:len(数据)
#作用:统计数据的长度:统计数据中元素的个数(集合具有唯一性)
print(len(tuple))
#in
#语法:元素 in 集合
#作用:判断元素是否在集合中存在,如果存在则返回True,否则返回False
print(540 in tuple)# False
#not in
#语法:元素 not in 集合
#作用:判断元素是否不在集合中存在,如果不存在则返回True,否则返回False
print(540 not in tuple) #True
#+
#元组 + 元组
tuple1 = (4,5,6)
print(tuple+tuple1)
#*
#元组 * 数字
print(tuple1*3)
循环遍历元组
#循环遍历元组 tuple = (”玛卡巴卡“,”唔西迪西“) #for 循环
#for 临时变量 in 循环遍历:
# 代码块 for i in tuple:
print(i) #while循环--->索引的范围: 0~len()-1
#初始值
#while 循环条件:
# 代码块
# 步长 num = 0
while num<= len(tuple)-1:
#通过索引取值 元组[索引]
print(tuple[num])
num += 1
集合
概念
由一系列不可变不重复的数据组成的可变容器 集合中只能存放不可变的数据类型的数据:整型、浮点型、字符串、元组 唯一性:集合中的元素具有唯一性,集合中的数据会自动被去重 无序性:集合中的元素具有无序性,不支持索引切片操作 可变:1.有增删方法
2.所有的操作会直接作用于原数据 集合为什么没有修改方法?
修改的思路:通过索引找到要修改的数据,重新赋值 集合具有无序性:无法定位到要修改的数据的位置,集合没有修改的方法
定义
集合 set {}
#1.定义有数据的集合
set1 = {1,2.6,”3“,(1,2,3),6,6,1,”3“}
print(set1)
print(type(set1))
#2.定义空集合--->构造法 本质是数据类型转换 set()
str1 = ”“
list = []
tuple1 = ()
set1 = set()
print(set1)
增加数据的方法
#集合增加数据的方法
set1 = {1,2,3}
#add()
#语法:集合.add(不可变数据)
#作用:将数据作为一个整体添加到集合中
set1.add(10)
set1.add(5.6)
set1.add(”hello“)
set1.add((1,2,3))
print(set1)
#update()
#语法:集合.update(可迭代对象)
#作用:将可迭代对象中的元素进行拆分,添加到集合中;要求可迭代对象中的元素必须是不可变数据
set1.update(”hello“)
print(set1)
删除数据的方法
# 集合删除数据的方法
set1 = {"hello",26,37,87,54,12,70,8,9}
# pop
# 语法:集合.pop()
# 作用:随机删除集合中的一个元素
set1.pop()
print(set1)
# remove
# 语法:集合.remove(元素)
# 作用:从集合中删除指定元素;如果元素不存在则报错
set1.remove(700)
print(set1)
#discard
#语法:集合.discard(元素)
#作用:从集合中删除指定元素:如果元素不存在不报错也不做任何删除操作
set.discard(870)
print(set1)
# clear
# 语法:集合.clear()
# 作用:清空集合,集合仍然存在
set1.clear()
print(set1)
# del
# 语法:del 集合
# 作用:删除整个集合,集合不存在;
del set1
print(set1)
补充方法
set1 = {"hello",26,37,8,54,12,"hello",8,9}
# 补充方法:
# len()
# 语法:len(数据)
# 作用:统计数据的长度;统计数据中元素的个数(集合具有唯一性)
print(len(set1))
# in
# 语法:元素 in 集合
# 作用:判断元素是否在集合中存在,如果存在则返回True,否则返回False
print(540 in set1)
# not in
# 语法:元素 not in 集合
# 作用:判断元素是否不在集合中存在,如果不存在则返回True,否则返回False
print(540 not in set1)
交集和并集
set1 = {1,2,3,4,5}
set2 = {4,5,6,7,8}
#交集 & 交叉重合的部分数据
print(set1&set2)#(4,5)
#并集 | 将多个集合中的数据合并到一起(集合具有唯一性)
print(set1|set2)#(1,2,3,4,5,6,7,8)
字典
概念
由一系列键值对组成的可变映射容器 键值对:
可变:1.有增删改方法
2.所有的操作会直接作用于原数据 映射:键与值一一对应的关系
定义
字典 dict {}
#定义字典
#1.直接定义字典
#语法:{键:值,键:值}--->键与值之间使用冒号隔开:键值对与键值对之间用逗号隔开
#键-key:name、age、height、address 键不重复且不可变:不可变的数据类型:整型、浮点型、字符串、元组;
#值-value:张三、18、189、北京某桥东下 值支持所有的数据类型
#键值对-item:”name“:”张三“
dict1 = {”name“:”张三“,”age“:18,”height“:18.9,(”address“):[”北京“]}
print(dict1)
print(type(dict1))
#2.构造法--->本质通过数据类型转换 dict(键=值,键=值)
dict2 = dict(name=”李四",gender=“女”,age=16)
print(dict2)
print(type(dict2))
增加和修改方法
dict1 = {”name“:“张三”,“age”:18}
#规则:有则修改,无则增加
#增加方法 修改方法
#语法:字典名[键] = 值
dict["phone"] = 110
删除方法
#删除方法 #1.clear()
#语法:字典名.clear()
#作用:清空字典,字典仍然存在
dict1.clear()
print(dict1) #2.del
#语法:del 字典名 del 字典名[键]
#作用:删除字典,字典不存在;删除指定键对应的键值对
del dict1[”name“]
print(dict1)
查询方法
dict1 = {”name“:”张三“,”age“:18}
#查询--->只能通过键找值,不能值找键
#1.直接查询
#语法:字典名[键]
#作用:通过键找值,如果键不存在则报错
print(dict1["age"])
#2.get()
#语法:字典名.get(键,默认值)
#作用:通过键找值,如果键不存在则返回None;可以给不存在的键设置默认值
print(dict1.get(”age“,110))
字典常用方法
#字典常用方法
dict1 = {“name”:“张三”,“age”:18}
#keys()
#语法:字典名.keys()
#作用:以列表的形式获取字典中所有的值
print(dict1.keys)
#values()
#语法:字典名.values()
#作用:以列表的形式获取字典中所有的值
print(dict1.values())
#items()
#语法:字典名.items()
#作用:以列表的形式返回所有的键值对;键与对应的值存放在一个元组中,多个元组存放在列表中
print(dict1.items())
循环遍历字典
#循环遍历字典
dict1 = {“name”:“张三”,“age“:18}
#循环遍历获取字典中所有的键-->同时可以获取值
for i in dict1.keys():
print(i,dict1[i])
#循环遍历获取字典中所有的值
for i in dict1.values():
print(i)
#循环遍历获取字典中的键值对
#[("name","张三")("age",18)]
#使用一个临时变量接收结果 i就是元组(键,值)
for i in dict1.items():
print(i)
#使用两个临死变量接收结果 i接收所有的键,j接收所有的值
for i,j in dict1.items():
print(j)
python基础-元组-集合-字典的更多相关文章
- 『Python基础-10』字典
# 『Python基础-10』字典 目录: 1.字典基本概念 2.字典键(key)的特性 3.字典的创建 4-7.字典的增删改查 8.遍历字典 1. 字典的基本概念 字典一种key - value 的 ...
- Python基础知识(五)------字典
Python基础知识(四)------字典 字典 一丶什么是字典 dict关键字 , 以 {} 表示, 以key:value形式保存数据 ,每个逗号分隔 键: 必须是可哈希,(不可变的数据类型 ...
- Python—列表元组和字典
Python-列表元组和字典 列表 元组 字典 列表: 列表是Python中的一种数据结构,他可以存储不同类型的数据.尽量存储同一种类型 列表索引是从0开始的,我们可以通过索引来访问列表的值. 列表的 ...
- python基础数据类型--集合(set)
python基础数据类型--集合(set) 集合是一个数学概念由一个或多个确定的元素所构成的整体叫做集合 集合中的三个特征 1.确定性(元素必须死可hash) 2.互异性(去重) 3.无序性(集合中的 ...
- Python基础数据类型之字典
基础数据类型之字典 ps:数据类型划分:可变数据类型和不可变数据类型. 不可变数据类型:元组(tupe).布尔值(bool).整数型(int).字符串(str).不可变数据类型也称为可哈希. 可变 ...
- python基础08_set集合
关于前几次课的回顾: #!/usr/bin/env python # coding:utf-8 ## 字符串 数字 列表 元组 字典 ## 可变:列表 字典 ## 不可变:字符串, 数字, 元组 na ...
- python基础——数字&集合&布尔类型
Python的核心数据类型 内置对象 对象类型 例子 数字 123,3.1415,3+4j,Decimal(小数),Fraction(分数) 字符串 'dodo',"guido's" ...
- 01.Python基础-3.集合容器
1 列表list 1.1 列表介绍 Python内置的一种数据类型是列表:list. 有序的集合,可随时添加和删除其中的元素. 每个元素都分配一个数字 --它的位置,或索引.0,1,2,3-- 可存放 ...
- python基础-3 集合 三元运算 深浅拷贝 函数 Python作用域
上节课总结 1 运算符 in 字符串 判断 : “hello” in "asdasfhelloasdfsadf" 列表元素判断:"li" in ['li', ...
- python基础dict,集合,文件
字典是一种key:value的数据类型dict1{ 'stud1':'孙礼昭', 'stud2':'slz', 'stud3':'sunlizhao',}dict是无序的,key是唯一的 天生去重增 ...
随机推荐
- 升级Linux内核版本
```shell# 查看内核版本,jw版本ceph默认format=2, 2.x 及之前的的内核版本需手动调整format=1# 4.x之前要关闭object-map fast-diff deep-f ...
- 13TB的StarRocks大数据库迁移过程
公司有一套StarRocks的大数据库在大股东的腾讯云环境中,通过腾讯云的对等连接打通,通过dolphinscheduler调度datax离线抽取数据和SQL计算汇总,还有在大股东的特有的Flink集 ...
- 开源 - Ideal库 - Excel帮助类,ExcelHelper实现(四)
书接上回,前面章节已经实现Excel帮助类的第一步TableHeper的对象集合与DataTable相互转换功能,今天实现进入其第二步的核心功能ExcelHelper实现. 01.接口设计 下面我们根 ...
- Mac m1 安装 Homebrew
Homebrew 是 Mac 的包管理器,类似于 Linux 中的 apt,Windows 中的 choco. 自从 M1 芯片发布,Homebrew 正在积极适配新架构,如今已经有了原生支持 ARM ...
- 渗透测试-前端验签绕过之SHA256+RSA
本文是高级前端加解密与验签实战的第2篇文章,本系列文章实验靶场为Yakit里自带的Vulinbox靶场,本文讲述的是绕过SHA256+RSA签名来爆破登录. 绕过 根据提示可以看出这次签名用了SHA2 ...
- 2024-12-14:K 周期字符串需要的最少操作次数。用go语言,给定一个长度为n的字符串 word 和一个整数k,k是n的因数。每次操作可以选择两个下标i和j,使得i和j都可以被k整除,然后用从j
2024-12-14:K 周期字符串需要的最少操作次数.用go语言,给定一个长度为n的字符串 word 和一个整数k,k是n的因数.每次操作可以选择两个下标i和j,使得i和j都可以被k整除,然后用从j ...
- Java调用与发布Webservice接口(一)
一 准备工作 (一)开发环境 demo以springboot为基础框架,使用到了httpclient.hutool等依赖,详情如下: springboot版本: org.spri ...
- Docker学习笔记(一) - Docker安装
1.安装yum-utils yum install yum-utils device-mapper-persistent-data lvm2 复制 安装yum-utils是为方便添加yum源使用的,d ...
- Qt编写的项目作品5-物联网管理平台
一.功能特点 1 软件模块 设备监控模块,包括数据监控(表格形式展示).设备面板(面板形式展示).地图监控(地图形式展示).曲线监控(曲线形式展示). 数据查询模块,包括报警记录.运行记录.操作记录. ...
- Qt开发经验小技巧91-100
数据库处理一般建议在主线程,如果非要在其他线程,务必记得打开数据库也要在那个线程,即在那个线程使用数据库就在那个线程打开,不能打开数据库在主线程,执行sql在子线程,很可能出问题. 新版的QTcpSe ...