第三章 python数据类型

news2024/11/23 12:35:09

系列文章目录

第一章 Python 基础知识
第二章 python 字符串处理
第三章 python 数据类型
第四章 python 运算符与流程控制
第五章 python 文件操作
第六章 python 函数
第七章 python 常用内建函数
第八章 python 类(面向对象编程)
第九章 python 异常处理
第十章 python 自定义模块及导入方法
第十一章 python 常用标准库
第十二章 python 正则表达式
第十三章 python 操作数据库


文章目录

  • 系列文章目录
  • 数据类型
  • 列表
    • 增删改查
    • 切片可清空
      • 切片
      • 清空
  • 元组
  • 集合
    • 基本操作
    • 关系测试
  • 字典
    • 基本操作
    • 嵌套
  • 常见数据类型转换
  • 总结

数据类型

在Python中,组合数据类型有:
列表(list)、元组(tuple)、字典(dict)、集合(set)

组合数据类型:为了方便处理数据,把一些同类数据放到一起,是一组数据的集合

列表

列表(List):是一个序列的数据结构。
什么是序列?
是指它成员都是有序排列,并且可以通过索引访问一个或多个成员。
格式:名称 = [“元素1”,“元素2”,…]

定义列表:computer = [“主机”,“显示器”,“鼠标”,“键盘”]

增删改查

类型方法用途
append("元素")
追加一个元素
insert(index, "元素")
在指定索引位置插入一个元素
remove("元素")
删除指定元素
pop(index=-1)
通过索引删除元素并返回索引
computer[index] = "元素"
修改指定索引的值
index("元素")
查看元素索引位置
count("元素")
统计元素出现次数
reverse()
倒序排序元素
sort()
进行排序
# 列表
computer = ["主机","显示器","键盘","鼠标","键盘"]
print("初始列表",computer)
print('--------------------------查询--------------------------')
print("获取索引    :",computer.index("显示器"))
print("统计元素数量:",computer.count("键盘"))
computer.reverse()
print('倒序排序',computer) #修改原有对象
computer.sort()
print("正向排序",computer) #修改原有对象
print('--------------------------增加--------------------------')
AA = []  #重新定义一个列表
for i in computer:
    AA.append(i)  # 把computer的列表的值加入到AA列表,如果直接写AA.append(computer)会吧[]也加入进去的
print("AA列表",AA)
AA.append('音响')    # AA列表新增音响
print("AA增加音响",AA)
AA.insert(1,'鼠标垫')
print('AA指定1位置添加鼠标垫',AA)
print('--------------------------修改--------------------------')
BB = []
for i in computer:
    BB.append(i)
print("BB列表",BB)
BB[0] = "帅哥"
print('BB把首位的修改成帅哥',BB)
print('--------------------------删除--------------------------')
print("初始列表",computer)
computer.remove("键盘")
print('删除键盘',computer)
computer.pop(-1)
print("删除最后一位音响",computer)

在这里插入图片描述

切片可清空

切片

与字符串切片使用方法一样
语法格式:list[start🔚step]

示例:
截取第1个元素:computer[0]
截取第1个字符到第5个元素:computer[0:5]
截取第1个到倒数第2个元素:computer[0:-1]
截取最后1个元素:computer[-1]

在这里插入图片描述

# 切片
computer = ["主机","显示器","键盘","鼠标","键盘"]
print('截取第1个          ',computer[0])
print('截取1到3          ',computer[0:3])
print('截取最后一个       ',computer[-1])
print('截取开始到倒数第一个',computer[0:-1])

在这里插入图片描述

清空

• 重新初始化列表
computer = []
• del语句删除列表
del computer
• 清空列表
computer.clear()

# 清空
computer = ["主机","显示器","键盘","鼠标","键盘"]
computer.clear() 
print(computer)
computer = []
print(computer)
computer = ["主机","显示器","键盘","鼠标","键盘"]
print(computer)
del(computer)
print(computer)  # 因为清空了,执行会报错,可以把这一行注释了

在这里插入图片描述

元组

元组(Tuple):与列表类似,也是一个序列数据结构。主要区别在于元组中的元素不能修改
格式:名称 = (“元素1”,“元素2”,…)

特点: 只支持查询元素,不支持增删改,同样支持切片,与列表使用方法一样

定义元组:computer = (“主机”,“显示器”,“鼠标”,“键盘”)

类型方法用途
index("元素")
查看元素索引位置
count("元素")
统计元素出现次数
# 元组
computer = ("主机","显示器","键盘","鼠标","键盘")
print(computer)
print("查看元素索引位置:",computer.index("主机"))
print("统计元素出现次数:",computer.count("键盘"))
print("------------------------切片------------------------")
print(computer[0:2])
print("-----想要修改的话,把元组变成列表,修改完再变成元组-----")
dd = list(computer)
print("元组变成列表:",dd)
dd.append("音响")
print("增加了音响:",dd)
print("再转换回元组tuple:",tuple(dd))

在这里插入图片描述

集合

集合(Set):是一个无序、不重复元素的序列,主要用于元素去重和关系测试。
关系测试支持:
• 联合
• 交集
• 差集
• 对称差集
定义方法:set()函数或者大括号{}来创建集合。
注意:想要创建空集合,必须使用set()而不是{}。后者用于创建空字典。

基本操作

定义空集合:computer = set()
定义集合:
computer = {“主机”,“显示器”,“鼠标”,“键盘”}
或者
computer = set([“主机”,“显示器”,“鼠标”,“键盘”,“主机”])
集合去重:
computer = [“主机”,“显示器”,“鼠标”,“键盘”,“显示器”,“鼠标”]
s = set(computer)
print(s)

类型方法用途
不支持,一般用for遍历
add("元素")
添加元素
remove("元素")
删除指定元素
discard("元素")
如果有元素则删除
pop("元素")
删除第1个元组并返回元素
# 集合
computer = {"主机","显示器","键盘","鼠标","键盘"}
print("第一种方法定义元组",computer)
list1 = ["主机","显示器","键盘","鼠标","键盘"]
list2 = set(list1)
print("第二种方法定义元组",list2)
print("--------------------增--------------------")
#重新定义一下computer
computer = {"主机","显示器","键盘","鼠标","键盘"}
print("重新定义一下computer",computer)
computer.add("音响")
print(computer)
print("--------------------删--------------------")
#重新定义一下computer
computer = {"主机","显示器","键盘","鼠标","键盘"}
print("重新定义一下computer",computer)
computer.pop()
print("删除第一个元素",computer)
computer.remove("键盘")
print("删除指定元素 键盘",computer)
computer.discard("帅哥")
print("如果有 帅哥 则删除",computer)

print("--------------------去重--------------------")
Wang = ["主机","显示器","键盘","鼠标","键盘"]
print("去重前:",Wang)
print("去重后",list(set(Wang)))

在这里插入图片描述

关系测试

对两个列表进行关系测试:
a = set([1, 2, 3, 4, 5, 6])
b = set([4, 5, 6, 7, 8, 9])
# 返回a集合中元素在b集合没有的
print(a - b)
# 返回b集合中元素在a集合中没有的
print(b - a)
# 返回交集,即两个集合中一样的元素
print(a & b)
# 返回合集,即合并去重
print(a | b)
# 判断是否不相等
print(a != b)
# 判断是否相等
print(a == b)

关系符号描述
-差集
&交集
|合集、并集
!=不等于
==等于
# 关系测试
a = set([1, 2, 3, 4, 5, 6])
b = set([4, 5, 6, 7, 8, 9])
# 返回a集合中元素在b集合没有的
print("返回a集合中元素在b集合没有的:",a - b)
# 返回b集合中元素在a集合中没有的
print("返回b集合中元素在a集合中没有的:",b - a)
# 返回交集,即两个集合中一样的元素
print("返回交集,即两个集合中一样的元素:",a & b)
# 返回合集,即合并去重
print("返回合集,即合并去重:",a | b)
# 判断是否不相等
print("判断是否不相等:",a != b)
# 判断是否相等
print("判断是否相等",a == b)

在这里插入图片描述

字典

字典(Dict):是一个具有映射关系的数据结构。用于存储有一定关系的元素。
格式:d = {‘key1’:value1, ‘key2’:value2, ‘key3’:value3}
注意:字典通过key来访问value,因此字典中的key不允许重复

在这里插入图片描述

# 字典
computer = ["主机","显示器","键盘","鼠标","键盘"]
computer2 = [5000,1000,150,60,150]
computer3 = dict(zip(computer,computer2)) #dict1 = dict(zip(keys, values))
print(computer3)
print('-------------------直接定义字典-------------------')
computer = {'主机': 5000, '显示器': 1000, '键盘': 150, '鼠标': 60}
print(computer)

在这里插入图片描述

基本操作

定义字典:computer = {“主机”:5000,“显示器”:1000,“鼠标”:60,“键盘”:150}

类型方法用途
computer["key"]
获取key的值
computer.get("key", None)
获取key的值,如果不存在返回None
keys
获取所有键
values()
获取所有值
items()
获取所有键值
computer["key"] = value
添加键值,如果键存在则覆盖,可以当做更新使用
update("key")
添加新字典,可以当做更新使用
setdefault("key", default=None)
如果键不存在,添加键并将值设置默认值; 如果键存在返回值
pop("key")
删除指定键
computer.popitem()
删除最后一对键值并返回
# 字典
print('-------------------字典-------------------')
computer = {'主机': 5000, '显示器': 1000, '键盘': 150, '鼠标': 60}
print(computer)
print('-------------------查询-------------------')
print('获取key的值:',computer['主机'])
print("获取key的值,如果不存在返回None:",computer.get("帅哥"))
print("获取key的值,存在返回value:",computer.get("主机"))
print('获取所有键',computer.keys())
print('获取所有值',computer.values())
print('获取所有键值',computer.items())
print('-------------------增加-------------------')
computer["音响"] = '100'
print("添加键值,如果键存在则覆盖", '\n',computer)
c = { "音响2":180 }
computer.update(c)
print("添加新字典",'\n',computer)
computer.setdefault("鼠标垫","12")
computer.setdefault("显示器","12222222")
print("如果键不存在,添加键并将值设置默认值;如果键存在返回值",'\n',computer)
print('-------------------删除-------------------')
computer.pop('音响')
print('删除指定键','\n',computer)
computer.popitem()
print('删除最后一对键值并返回','\n',computer)

在这里插入图片描述

嵌套

字典里的值不但是可以写整数、字符串,也可以是其他数据类型,例如列表、元组、集合、字典,这样可以满足一个键还包含其他属性

computer = {“主机”:{“CPU”:1300,“内存”:400,“硬盘”:200},“显示器”:1000,“鼠标”:60,“键
盘”:[“机械键盘”,“薄膜键盘”]}

操作key中字典:
computer[“主机”][“硬盘”]
computer[“主机”][“硬盘”] = "300“
操作key中列表:
computer[“键盘”]
computer[“键盘”].append(“其他”)

# 字典嵌套
computer = {"主机":{"CPU":1300,"内存":400,"硬盘":200},"显示器":1000,"鼠标":60,"键盘":["机械键盘","薄膜键盘"]}
print('从嵌套里边取硬盘价格:',computer['主机']['硬盘'])
computer['主机']['显卡'] = 1500
print("增加显卡价格",computer)
computer["键盘"].append('其他')
print('再键盘里边增加其他字段:',computer)
print(computer["键盘"][0])

在这里插入图片描述

常见数据类型转换

函数描述
int(x[,base])将x转换为一个整数
float(x)将x转换为一个浮点数
str(x)将对象x转换为字符串
tuple(seq)将序列sep转换为一个元组
list(seq)将序列seq转换为一个列表

总结

以上就是今天学习的内容,本文学习了数据类型

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1168245.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Git https方式拉的代码IDEA推送代码报错

报错信息 fatal: could not read Username for ‘https://codehub-cn-south-1.devcloud.huaweicloud.com’: No such file or directory 18:18:39.885: [recovery_pattern] git -c credential.helper -c core.quotepathfalse -c log.showSignaturefalse push --progress --porc…

python第一课 变量

1.离线的情况下首选txt文档 2.有道云笔记 3.思维导图 xmind mindmaster 4.博客 5.wps流程图 # 变量的命名规则 1.变量名只能由数字字母下划线组成 2.变量名不能以数字开头 3.变量名不能与关键字重名 快捷键 撤销:Ctrl/Command Z 新建:Ctrl/Com…

【CesiumJS】(1)Hello world

介绍 Cesium 起源于2011年,初衷是航空软件公司(Analytical Graphics, Inc.)的一个团队要制作世界上最准确、性能最高且具有时间动态性的虚拟地球。取名"Cesium"是因为元素铯Cesium让原子钟非常准确(1967年,人们依据铯原子的振动而对…

气膜场馆的降噪方法

在现代社会,噪音已经成为我们生活中难以避免的问题,而气膜场馆也不例外。传统的气膜场馆常常因其特殊结构而面临噪音扩散和回声问题,影响了人们的体验和活动效果。然而,随着科技的进步,多功能声学综合馆应运而生&#…

413 (Payload Too Large) 2023最新版解决方法

文章目录 出现问题解决方法 出现问题 博主在用vue脚手架开发的时候,在上传文件的接口中碰到 这样一个错误,查遍所有csdn,都没有找到解决方法,通过一些方式,终于解决了。 解决方法 1.打开Vue项目的根目录。 2.在根目…

what?腾讯云3年轻量2核4G5M服务器566.6元哪去了?

what?腾讯云3年轻量2核4G5M服务器566.6元哪去了?腾讯云双11优惠活动3年轻量2核4G5M服务器从566.6元涨价到756元三年,3年轻量2核2G4M服务器从366.6元恢复到540元三年,大家抓紧吧,三年轻量已经库存已经不多了&#xff0c…

EthernetIP主站转EtherCAT协议网关采集电力变压器的 Ethernet IP 数据

怎么通过捷米JM-EIPM-ECT网关把ABB电力变压器的 Ethernet IP 数据,连接到欧姆龙PLC上,通过plc去监控电力设备的数据呢,下面是介绍简单的连接方法,采集Ethernet IP从站数据和EtherCAT协议 1 ,捷米JM-EIPM-ECT网关连接Et…

基于51单片机电子秤-proteus仿真-源程序

一、系统方案 本设计采用52单片机作为主控器,液晶1602显示,HX711模块,按键设置单价,计算总价,超量程报警,蜂鸣器报警。 二、硬件设计 原理图如下: 三、单片机软件设计 1、首先是系统初始化 I…

基于openresty waf二次开发多次匹配到的ip再做拉黑

我们想在openresty waf的基础上做二次开发,比如再精确一些。比如我们先匹配到了select的url我们先打分10分,匹配到cc 1000/s我们再给这个ip打10分…直到100分我们就拉黑这个ip。 [openresty waf][1] #cat reids_w.lua require lib local redis require…

Zookeeper安装及配置

Zookeeper官网:Apache ZooKeeper 一般作为服务注册中心 无论在Windows下还是Linux下,Zookeeper的安装步骤是一样的,用的包也是同一个包 Window下安装及配置Zookeeper 下载后解压 linux安装 window及Linux安装及配置zookeeper_访问windos上的zookeeper-CSDN博客

用Python写了13个小游戏,上班摸鱼我能玩一天

分享13个Python小游戏,本内容来源于网络。 用Python写个魂斗罗,另附30个Python小游戏源码​segmentfault.com/a/1190000041782623 1、吃金币 源码分享: import os import cfg import sys import pygame import random from modules import …

【框架篇】统一用户登录权限验证

✅作者简介:大家好,我是小杨 📃个人主页:「小杨」的csdn博客 🐳希望大家多多支持🥰一起进步呀! 统一用户登录权限验证 1,自定义拦截器 对于统一用户登录权限验证的问题&#xff0c…

照片拼图软件 CollageIt Pro mac中文版功能特色

CollageIt Pro mac是一款拼图软件,CollageIt Pro for mac不仅支持多种模式的拼贴风格,还能够完美满足您对自己图片的美化需要,以一种全新的方式来呈现您收藏的图片,并且只需短短的几秒,便可以轻松实现将一组照片编程一…

黑色木工板覆膜板:耐用防水的建筑模板选择

黑色木工板覆膜板是一种耐用的建筑模板材料,以其优异的防水性能和稳定性成为建筑行业的理想选择。本文将重点介绍黑色木工板覆膜板的特点以及其在建筑模板领域的应用。 黑色木工板覆膜板采用杨木芯,并在表面覆盖一层黑色防水膜。杨木芯的选择使得木工板具…

多模块项目的搭建以及Nacos服务的发现与调用

这里写目录标题 多模块项目的搭建父项目的构建子模块的创建父子模块的意义 将注册服务引入到父子模块中创建子模块用于发现服务和调用供调用的服务接口创建调用子模块 测试一些小问题 在前文中我们实现了微服务的注册参考此文: Spring Cloud Alibaba中Nacos的安装&a…

3.表格-常用属性:th、align、valign布局方式

常用属性:th/align/valign 1、th 标签 定义表格内的表头单元格。 HTML 表单中有两种类型的单元格: 表头单元格 - 包含表头信息(由 th 元素创建) 标准单元格 - 包含数据(由 td 元素创建) th 定义表头内容,元…

年底赶项目?买核心板送开发板!T113核心板2款芯片6种配置选择

全志T113系列芯片是目前比较受欢迎的国产入门级嵌入式工业芯片。米尔是基于T113芯片开发较早、提供配置最全的厂家,是目前唯一一家提供T113-S和T113-i两种芯片核心板的厂家。更好的消息是,T113-i的核心板兼容T113-S的核心板,同一个硬件设计&a…

BUUCTF FLAG 1

BUUCTF:https://buuoj.cn/challenges 题目描述: 注意:请将 hctf 替换为 flag 提交,格式 flag{} 密文: 下载附件,得到一张.png图片。 解题思路: 1、因为附件是一张图片,先放到StegSolve中&…

Dual Personalization on Federated Recommendation

联合推荐的双重个性化 代码链接 论文链接 主要创新 文章的主要创新是提出了一种双重个性化机制,用于增强联邦推荐系统的性能。这种机制能够在联邦学习框架中为每个本地模型学习用户特定的物品嵌入,从而显著提升推荐系统的效果。通过在四个数据集上进行…

搜维尔科技:网球运动员使用Xsens寻求精确的动作捕捉

就像其他一些运动一样,近年来网球迷们没有机会去参加许多真正优秀的模拟游戏,所以当一个人出现并承诺有这种体验时,很难不激动。开发者圆环游戏 匹配点:网球锦标赛 现在,我们承诺在单一支付者和多人组成部分的球场上有一个坚实的经验,我们对游戏和游戏的内部和外部都很好奇,我…