【Python基础】- 基础数据类型(下)

news2024/12/25 12:21:51

  

🤵‍♂️ 个人主页:@艾派森的个人主页

✍🏻作者简介:Python学习者
🐋 希望大家多多支持,我们一起进步!😄
如果文章对你有帮助的话,
欢迎评论 💬点赞👍🏻 收藏 📂加关注+


上文我们介绍了Python基础数据类型中的数字、布尔、字符串类型,今天主要介绍列表、元组、字典和集合类型。

List(列表)

序列是 Python 中最基本的数据结构。  

序列中的每个值都有对应的位置值,称之为索引,第一个索引是 0,第二个索引是 1,依此类推。 

列表是最常用的 Python 数据类型,它可以作为一个方括号内的逗号分隔值出现。  

创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。如下所示:  

list1 = ['Google', 'Runoob', 1997, 2000]  
list2 = [1, 2, 3, 4, 5 ]  
list3 = ["a", "b", "c", "d"]  
list4 = ['red', 'green', 'blue', 'yellow', 'white', 'black']  

访问列表中的值

与字符串的索引一样,列表索引从 0 开始,第二个索引是 1,依此类推。通过索引列表可以进行截取、组合等操作。    

list = ['red', 'green', 'blue', 'yellow', 'white', 'black']
print( list[0] )
print( list[1] )
print( list[2] )

索引也可以从尾部开始,最后一个元素的索引为 -1,往前一位为 -2,以此类推。    

list = ['red', 'green', 'blue', 'yellow', 'white', 'black']
print( list[-1] )
print( list[-2] )
print( list[-3] )

使用下标索引来访问列表中的值,同样你也可以使用方括号 [] 的形式截取字符,如下所示:  

nums = [10, 20, 30, 40, 50, 60, 70, 80, 90]
print(nums[2:7])
print(nums[2:-2])

 

列表对象的常用方法汇总如下:    

l = [0,'张三','李四',100]
l.append('王麻子')  # 在列表尾部添加元素
print(l)
l.insert(1,20)  # 在列表索引为1(也就是‘张三’的前面)的位置插入一个20
print(l)
l.remove('李四') # 删除列表中的‘李四’
print(l)
l.reverse()  # 将列表中的元素全部翻转,即倒叙输出,等价于l[::-1]
print(l)
print(l[::-1])

 

列表相关的其他内置函数

max和min:用于返回列表中最大和最小值。  

sum:对数值型列表的所有元素进行求和操作,对非数值型列表运算则会报错。  

a = [10,20,30]
print(min(a))
print(max(a))
print(sum(a))

Tuple(元组)

Python 的元组与列表类似,不同之处在于元组的元素不能修改。  

元组使用小括号 ( ),列表使用方括号 [ ]。  

元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。  

tup1 = ('Google', 'Runoob', 1997, 2000)
tup2 = (1, 2, 3, 4, 5 )
tup3 = "a", "b", "c", "d"   #  不需要括号也可以
print(type(tup3))

# 元组中只包含一个元素时,需要在元素后面添加逗号 , ,否则括号会被当作运算符使用:
tup1 = (50)
print(type(tup1))     # 不加逗号,类型为整型
tup1 = (50,)
print(type(tup1))     # 加上逗号,类型为元组

元组与字符串类似,下标索引从 0 开始,可以进行截取,组合等。  

tup = ('Google','Runoob',1997,2000,26.0,0)
print(tup[0])
print(tup[-2])
print(tup[2:5])
print(tup[2:-1])

Dictionary(字典)

字典是另一种可变容器模型,且可存储任意类型对象。  

字典的每个键值 key=>value 对用冒号 : 分割,每个对之间用逗号(,)分割,整个字典包括在花括号{}中,格式如下所示:  

d = {key1 : value1, key2 : value2, key3 : value3 }  

注意:dict 作为 Python 的关键字和内置函数,变量名不建议命名为 dict。  

键必须是唯一的,但值则不必。值可以取任何数据类型,但键必须是不可变的,如字符串,数字。  一个简单的字典实例:tinydict = {'name': 'runoob', 'likes': 123, 'url': 'www.runoob.com'}  

# 创建字典方法1-使用大括号
dict1 = {}
print(type(dict1))
# 创建字典方法2-使用内置函数
dict2 = dict()
print(type(dict2))
# 创建字典方法3-使用zip()函数
k = ['name','age','job']
v = ['艾派森',18,'板砖']
d = dict(zip(k,v))
print(d)

 

# 字典的访问
d = {'name': '艾派森', 'age': 18, 'job': '板砖'}
# 获取字典的所有键值对
print(d.items())
# 获取字典的键
print(d.keys())
# 获取字典的值
print(d.values())

# 访问值方法1-get()  如果获取不到,返回结果为None
print(d.get('name'),d.get('job'))
print(d.get('school'))
# 访问值方法2-['key']   如果获取不到,会报错keyError
print(d['name'],d['job'])
print(d['school'])

# 修改字典
d = {'name': '艾派森', 'age': 18, 'job': '板砖'}
d['age'] = 10  # 更新信息
d['school'] = '家里蹲大学'  # 添加新的键值对
del d['job']   # 字典中元素的删除,可以使用 del() 方法;或者 clear() 删除所有键值对;
print(d)

Set(集合)

集合(set)是一个无序的不重复元素序列。  

可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。创建格式:parame = {value01,value02,...} 或者 set(value)  

# 集合创建和删除
# 1.使用{}创建集合对象,并使用add()方法添加元素
a = {3,5,7}
a.add(9)    # {9, 3, 5, 7}
print(a)
# 2.使用set(),将列表、元组等可迭代对象转成集合。如果原来数据存在重复数据,则只保留一个
a = ['a','b','c','b']
b = set(a)  # {'b', 'a', 'c'}
print(b)
# 3.remove()删除指定元素;clear()清空整个集合
a = {10,20,30,40,50}
a.remove(20)   # {50, 40, 10, 30}
print(a)

 

集合相关操作

像数学中概念一样,Python对集合也提供了并集、交集、差集等运算。

a = {2,7,'abc'}
b = {'he','it','abc'}
print(a|b) # 并集 {2, 'it', 7, 'he', 'abc'}
print(a&b) # 交集 {'abc'}
print(a-b) # 差集 {2, 7}print(
print(a.union(b)) # 并集
print(a.intersection(b)) # 交集
print(a.difference(b)) # 差集

集合内置方法完整列表

类型转换总结

与C++、Java等高级程序设计语言一样,Python语言同样也支持数据类型转换。  

a = 11
b = 5.8
c = 'acd'
d = '120'
print(type(str(a)),type(str(b)))
print(type(float(a)),type(float(b)))
print(type(float(d)),type(float(d)))
print(type(float(c)),type(float(c)))  # 字符中全为数字才可以转为数字类型

本文章隶属于专栏【零基础学习Python数据分析】,本专栏会持续更新,永久免费,喜欢的小伙伴速速订阅!

欢迎点赞👍🏻+ 评论 💬+收藏 📂,同时也欢迎你加入我的粉丝交流群一起学习探讨!

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

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

相关文章

一文吃透Java并发高频面试题

内容摘自我的学习网站:topjavaer.cn 分享50道Java并发高频面试题。 线程池 线程池:一个管理线程的池子。 为什么平时都是使用线程池创建线程,直接new一个线程不好吗? 嗯,手动创建线程有两个缺点 不受控风险频繁创…

typescript 相关概念

TypeScript 开发环境搭建 下载Node.js 14.15.1版本64位:https://nodejs.org/dist/v14.15.1/node-v14.15.1-x64.msi node官网: Node.js 安装Node.js 使用npm全局安装typescript 进入命令行 输入: npm i -g typescript 创建一个ts文件 使用tsc对ts文件…

从0-1一起学习live555设计思想之一 基础运行环境 + 任务调度

系列文章目录 文章目录 系列文章目录前言一、基础组件总览二、UsageEnvironment三、BasicUsageEnvironment0四、BasicUsageEnvironment五、TaskScheduler六、BasicTaskScheduler0七、DelayQueue八、BasicTaskScheduler九、基础调度总结总结前言 一、基础组件总览 本篇开始分析…

【OpenCV • c++】滑动条的创建和使用

🚀 个人简介:CSDN「博客新星」TOP 10 , C/C 领域新星创作者💟 作 者:锡兰_CC ❣️📝 专 栏:【OpenCV • c】计算机视觉🌈 若有帮助,还请关注➕点赞➕收藏&#xff…

【Linux网络服务】Nginx Rewrite重写模块

Nginx Rewrite 一、常用的Nginx 正则表达式二、location 匹配的范围2.1location实验 三、rewrite模块3.1rewrite跳转3.2rewrite执行顺3.3flag标记说明3.4rewrite中常用的全局变量3.5rewrite实验3.5.1 基于域名的跳转3.5.2基于客户端IP访问跳转3.5.3基于旧域名跳转到新域名后面加…

基于深度学习的高精度海洋生物检测识别系统(PyTorch+Pyside6+YOLOv5模型)

摘要:基于深度学习的高精度海洋生物检测识别系统可用于日常生活中检测与定位海洋生物目标(海胆:echinus,海参:holothurian,扇贝:scallop,海星:starfish)&…

MySQL数据库 番外.聚合函数

前言: 聚合函数是分组查询中一个重要的组成部分,想要利用分组查询,就要对聚合函数有不错的掌握,因此我们在这里开一篇番外,讲解SQL语法中的聚合函数 聚合函数: 聚合函数是SQL中一种特殊的函数,…

Oracle中的数据导出(4)

目录 法一:使用SQL plus命令脚本 法二:使用PLSQL Developer工具 前几篇文章描述了如何将Oracle中的数据导出到库外,但是导出的数据结果都是文本文档,这样页面查看不和谐,编辑又略显麻烦。因此这篇文章将描述如何将Or…

60题学会动态规划系列:动态规划算法第二讲

都是路径问题~ 文章目录 1.不同路径2.不同路径II3.礼物的最大价值4.下降路径最小和5.最小路径和 1.不同路径 力扣链接:力扣 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一…

异常检测学习笔记 一、异常检测及基本统计

一、什么是异常? 1、异常的定义 异常是指与其他数据有很大不同的数据。异常现象是“一种与其他观测结果大相径庭的观测结果,以至于人们怀疑它是由不同的机制产生的。”,也被称为“异常”或“离经叛道”。 所有观测值 = 正常数据 + 异常值 异常值 = 噪声 + 异常 噪声 = 人们…

scratch接水果 少儿编程 电子学会图形化编程scratch编程等级考试二级真题和答案解析2023年5月

目录 scratch接水果 一、题目要求 1、准备工作 2、功能实现 二、案例分析

操作系统复习2.3.5-管程

引入管程 PV操作困难,容易书写出错,引入管程,作为一种高级同步机制 组成 局限于管程的共享数据结构说明对该数据结构进行操作的一组过程对局部于管程的共享数据结构设置初始值的语句管程有一个名字 基本特征 局限于管程的数据只能被局限…

括号匹配(使用链栈实现)

目录 0. 前言1. 括号匹配——题目描述2. 解题思路3. 括号匹配意义 0. 前言 数据结构——括号匹配(使用链栈实现) 操作系统:Windows10 家庭版 开发环境:Dev-Cpp 1. 括号匹配——题目描述 给定一个只包含括号的字符串s,判断这个字符串中的…

【图】单源最短路径

最短路径 图上的最短路径:两顶点之间经过的边数最少的路径; 网上的最短路径:两顶点之间经过的边上权值之和最少的路径(源点->终点)。 a星算法、迪杰斯特拉算法、佛洛依德算法。 迪杰斯特拉算法 单源最短路径按…

SpringBoot项目登录并接入MFA二次认证

MFA多因素认证(Multi-Factor Authentication ): 一些需要身份认证的服务(如网站),为了提升安全性,通常会在账号密码登录成功后,要求用户进行第二种身份认证,以确保是正确用户登录,避…

【C语言】C预处理器(宏、文件包含、条件编译...)

一、C语言编译的预处理阶段1.1 C语言的编译过程1.2 C语言编译的预处理 二、C语言 宏2.1替换常量2.2函数宏2.3 字符串化和连接:#和##2.4 变参宏 三、文件包含:#include3.1 写法3.2 头文件的作用——声明3.3 头文件和extern 、static 四、 其他指令4.1 #un…

Ansible基础4——变量、机密、事实

文章目录 一、变量二、机密2.1 创建加密文件2.2 查看加密文件2.3 编辑加密文件内容2.4 加密现有文件2.5 解密文件2.6 更改加密密码 三、事实3.1 收集展示事实3.2 展示某个结果3.3 新旧事实命令3.4 关闭事实3.5 魔法变量 一、变量 常设置的变量: 要创建的用户要安装的…

【C++ 基础篇:19】:类的构造函数与初始化列表:用法说明及构造函数的细节内容补充!

本系列 C 相关文章 仅为笔者学习笔记记录,用自己的理解记录学习!C 学习系列将分为三个阶段:基础篇、STL 篇、高阶数据结构与算法篇,相关重点内容如下: 基础篇:类与对象(涉及C的三大特性等&#…

Kubernetes_容器网络_循序渐进地学习kubernetes网络

文章目录 前言一、Linux网络命名空间1.1 linux网络命名空间1.2 不同网络命名空间的通信两个网络命名空间通信多个网络命名空间通信 二、K8S Pod网络通信2.1 Pod内部容器的网络通信2.2 相同node: 不同pod间的网络通信2.3 不同node: 不同pod间的网络通信2.4 容器网络插件: Flanne…

C++STL库之map

文章目录 关于仿函数stackdeque(双端对列)queuepriority_queuemap(重点)set(去重) 关于仿函数 //C不能重载的运算符sizeof、 ::、 ? :、 .、 *、 class Add { public:int operator()(int a, int b)const{return a b;} }; //函数对象,仿函数…