【Python】新手入门(9):数值和序列

🐍【Python】新手入门(9):数值和序列

在这里插入图片描述

🌈 个人主页:高斯小哥
🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程👈 希望得到您的订阅和支持~
💡 创作高质量博文(平均质量分92+),分享更多关于深度学习、PyTorch、Python领域的优质内容!(希望得到您的关注~)


🌵文章目录🌵

  • 🔢一、数值类型
    • 整数
    • 浮点数
    • 复数
    • 数值运算
  • 📚二、序列类型
    • 列表
    • 元组
    • 字符串
    • 序列操作
    • 序列的遍历
  • 📊三、序列的常用函数和方法
    • 列表常用方法
    • 字符串常用方法
  • 🔍四、数值和序列的综合应用
  • 💡五、学习建议
  • 🎉六、总结

🔢一、数值类型

  在Python中,数值类型是非常基础和重要的数据类型。Python支持多种数值类型,如整数、浮点数、复数等。这些类型在编程中经常被用来进行各种数学运算和逻辑运算。

整数

  整数是最基础的数值类型,用于表示没有小数部分的数。在Python中,整数可以表示为十进制、八进制、十六进制等形式。

# 十进制整数
decimal_num = 10# 八进制整数(以0o或0O开头)
octal_num = 0o12  # 等于十进制中的10# 十六进制整数(以0x或0X开头)
hex_num = 0xA    # 等于十进制中的10print(decimal_num, octal_num, hex_num)

输出:

10 10 10

浮点数

  浮点数用于表示带有小数部分的数。在Python中,浮点数使用小数点表示。

# 浮点数
float_num = 3.14
print(float_num) # 3.14

复数

  复数由实部和虚部组成,虚部以字母j表示。在Python中,可以使用complex()函数创建复数,或者直接赋值。

# 复数
complex_num = 3 + 4j
print(complex_num)
print(complex_num.real)  # 访问实部
print(complex_num.imag)  # 访问虚部

输出:

(3+4j)
3.0
4.0

数值运算

Python支持基本的数学运算,如加法、减法、乘法、除法、取余等。

# 数值运算
num1 = 5
num2 = 3sum_result = num1 + num2
diff_result = num1 - num2
mult_result = num1 * num2
div_result = num1 / num2
mod_result = num1 % num2print(sum_result, diff_result, mult_result, div_result, mod_result)

输出:

8 2 15 1.6666666666666667 2

📚二、序列类型

   序列是Python中用来表示一组有序元素的数据类型。 Python中有多种序列类型,如列表(list)、元组(tuple)、字符串(str)等。这些类型在编程中非常常用,可以用来存储和操作一组相关的数据。

列表

  列表是Python中最常用的序列类型,它可以包含任意类型的元素,并且元素的数量是可变的。

# 列表
my_list = [1, 2, 3, 'a', 'b', True]
print(my_list)# 访问列表元素
print(my_list[0])  # 访问第一个元素
print(my_list[-1]) # 访问最后一个元素# 修改列表元素
my_list[0] = 'first'
print(my_list)# 添加元素
my_list.append('new_element')
print(my_list)# 删除元素
my_list.remove('new_element')
print(my_list)

输出:

[1, 2, 3, 'a', 'b', True]
1
True
['first', 2, 3, 'a', 'b', True]
['first', 2, 3, 'a', 'b', True, 'new_element']
['first', 2, 3, 'a', 'b', True]

元组

  元组与列表类似,也是一组有序的元素。但元组是不可变的,即创建后不能修改其元素。

# 元组
my_tuple = (1, 2, 3, 'a', 'b', True)
print(my_tuple)# 访问元组元素
print(my_tuple[0])  # 访问第一个元素# 尝试修改元组(会报错)
my_tuple[0] = 'first'  # TypeError: 'tuple' object does not support item assignment

输出:

(1, 2, 3, 'a', 'b', True)
1

字符串

  字符串是字符的序列,用于表示文本信息。字符串在Python中是不可变的。

# 字符串
my_string = "Hello, Python!"
print(my_string)# 访问字符串中的字符
print(my_string[0])  # 访问第一个字符
print(my_string[-1]) # 访问最后一个字符# 字符串切片
substring = my_string[0:5]  # 获取子字符串
print(substring)# 字符串拼接
another_string = " World!"
combined_string = my_string + another_string
print(combined_string)# 字符串方法(如长度、大小写转换等)
print(len(my_string))  # 获取字符串长度
print(my_string.upper())  # 转换为大写
print(my_string.lower())  # 转换为小写

输出:

Hello, Python!
H
!
Hello
Hello, Python! World!
14
HELLO, PYTHON!
hello, python!

序列操作

序列类型支持很多相同的操作,如索引、切片、连接、重复等。

# 切片操作
my_list = [0, 1, 2, 3, 4, 5]
slice = my_list[1:4]  # 切片操作,获取索引1到3的元素(不包括4)
print(slice)# 连接操作
list1 = [1, 2, 3]
list2 = [4, 5, 6]
concatenated_list = list1 + list2
print(concatenated_list)# 重复操作
repeated_list = list1 * 3
print(repeated_list)

输出:

[1, 2, 3]
[1, 2, 3, 4, 5, 6]
[1, 2, 3, 1, 2, 3, 1, 2, 3]

序列的遍历

我们可以使用for循环来遍历序列中的每一个元素。

# 遍历列表
my_list = ['apple', 'banana', 'cherry']
for item in my_list:print(item)# 遍历字符串
my_string = "hello"
for char in my_string:print(char)

📊三、序列的常用函数和方法

Python的序列类型提供了很多内置的函数和方法,用于查询和操作序列。

列表常用方法

# 添加元素到列表末尾
my_list.append('new_item')# 移除列表中的第一个匹配项
my_list.remove('item_to_remove')# 列表排序
my_list.sort()  # 原地排序,不返回新列表
sorted_list = sorted(my_list)  # 返回新列表,原列表不变# 列表反转
my_list.reverse()  # 原地反转,不返回新列表
reversed_list = reversed(my_list)  # 返回反转后的迭代器,不是列表

字符串常用方法

# 查找子字符串位置
index = my_string.find('substring')# 替换子字符串
new_string = my_string.replace('old', 'new')# 分割字符串
split_list = my_string.split('delimiter')# 判断字符串是否以指定前缀或后缀开始或结束
starts_with = my_string.startswith('prefix')
ends_with = my_string.endswith('suffix')

🔍四、数值和序列的综合应用

在实际编程中,数值和序列经常一起使用,用于处理各种数据和执行复杂的操作。

# 使用列表存储数值并计算总和
numbers = [1, 2, 3, 4, 5]
total = sum(numbers)
print(total)# 使用字符串和列表处理文本数据
text = "One and only one"
words = text.split()  # 将文本拆分为单词列表
word_counts = {}  # 创建一个空字典用于存储单词计数for word in words:if word in word_counts:word_counts[word] += 1else:word_counts[word] = 1# 打印每个单词及其出现的次数
for word, count in word_counts.items():print(f"{word}: {count}")

输出:

15
One: 1
and: 1
only: 1
one: 1

💡五、学习建议

  学习数值和序列时,建议多做实践练习,尝试编写各种小程序来加深理解。可以从简单的例子开始,逐步增加难度,挑战自己的编程能力。此外,阅读官方文档和参考其他教程也是很好的学习方式。

🎉六、总结

  数值和序列是Python编程中非常重要的基础知识。通过掌握这些知识,我们可以更加有效地处理和操作数据,实现各种复杂的逻辑和算法。希望本博客能够帮助你更好地理解数值和序列的概念和用法,为你在Python编程的道路上打下坚实的基础。

  编程是一个需要不断实践和探索的过程。只有不断地编写代码,解决问题,才能真正掌握和运用好Python这门强大的编程语言。

  最后,如果你在学习过程中遇到任何问题或困惑,不妨多向社区求助,参与讨论,分享你的经验和心得。Python社区是一个充满活力和智慧的大家庭,相信你会在这里找到很多志同道合的朋友,一起成长和进步。

🚀 祝你学习愉快,编程之路充满惊喜和收获!

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

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

相关文章

百度智能云千帆大模型平台发布会定档3月21日,新模型已悄然上线

百度智能云官微日前宣布,百度智能云千帆产品发布会(AI Cloud Day)将于2024年3月21日在北京举行,届时将揭晓千帆ModelBuilder 和 AppBuilder 的最新产品进展,并发布系列新模型及开发工具组件。 记者在百度智能云官网上发…

O2O:Offline Meta-Reinforcement Learning with Online Self-Supervision

ICML 2022 paper Introduction 元强化学习(Meta RL)结合O2O。元RL需要学习一个探索策略收集数据,同时还需学习一个策略快速适应新任务。由于策略是在固定的离线数据集上进行元训练的,因此在适应探索策略收集的数据时,它可能表现得不可预测&…

97、我对 AI 模型调优的经验和认识

做 AI 算法调优一些年了,这些年中接触了不少模型,也做过不少在 ASIC 芯片进行模型加速的案例。 在接触的模型中,有一些模型有着非常奇怪的分支结构,有的还有奇怪的 tensor shape,还有的有这奇怪的自定义算法。但在模型优化时,为了将一个 AI 模型性能调到最优,也是无所不…

代码随想录三刷 day16 | 二叉树之104.二叉树的最大深度 559.n叉树的最大深度 111.二叉树的最小深度 222.完全二叉树的节点个数

三刷day16 104.二叉树的最大深度559.n叉树的最大深度111.二叉树的最小深度222.完全二叉树的节点个数 104.二叉树的最大深度 题目链接 解题思路: 本题中根节点的高度就是最大深度 二叉树节点的深度: 指从根节点到该节点的最长简单路径边的条数或者节点数…

飞桨AI框架安装和使用示例

飞桨AI框架安装和使用示例 飞桨PaddlePaddle是非常流行的国产AI框架,让我们一起来动手实践吧! 安装 飞桨安装参考页面:https://www.paddlepaddle.org.cn/install/quick?docurl/documentation/docs/zh/install/pip/linux-pip.html 在这个安…

AttributeError: ‘SFTPClient‘ object has no attribute ‘exists‘问题解决

在使用paramiko库进行SFTP操作时,如果遇到AttributeError: SFTPClient object has no attribute exists错误,这意味着你尝试调用的.exists()方法并不直接存在于paramiko.SFTPClient对象中。 虽然SFTPClient类没有内置的.exists()方法,但你可…

【S32K3 MCAL配置】-1.2-GPIO配置及其应用-DIO之高低电平输入-按键(基于MCAL)

"><--返回「Autosar_MCAL高阶配置」专栏主页--> 目录(共11页精讲,基于评估板: NXP S32K312EVB-Q172,手把手教你S32K3从入门到精通) 实现的架构:基于MCAL层 前期准备工作:

垃圾分类网站|基于Springboot框架+java+MYSQL数据库的垃圾分类网站开发设计与实现(可运行源码+数据库+文档)

目录 1.摘 要 2.系统结构设计 3.系统顺序图设计 4.数据库设计 5.系统详细设计 用户前台功能模块 管理员功能模块 垃圾分类管理员功能模块 论文参考 文末获取源码 1.摘 要 本论文主要论述了如何使用JAVA语言开发一个垃圾分类网站 &#xff0c;本系统将严格按照软件开发…

「雷神加速器」pubg m登陆不上去、连接超时、无法进入游戏解决方法

Pubg Mobile(简称pubg m)作为人气吃鸡端游绝地求生PUBG的正版授权手游,完美保留了游戏中跳伞、跑毒、缩圈、捡装备的经典要素玩法,在手游玩家中有着极高的人气。近期,不少老玩家在登陆启动pubg m时出现登陆不上去、连接超时、无法进入游戏的情况,这里为大家整理汇总了几种常用解…

一款高输出电流 PWM 转换器

一、产品描述 TPS543x 是一款高输出电流 PWM 转换器&#xff0c;集成了低电阻、高侧 N 沟道 MOSFET。具有所列的特性的基板上还包括高性能电压误差放大器&#xff08;可在瞬态条件下提供高稳压精度&#xff09;、欠压锁定电路&#xff08;用于防止在输入电压达到 5.5V 前启动&…

【Oracle】oracle中sql给表新增字段并添加注释说明;mysql新增、修改字段

oracle中sql给表新增字段并添加注释说明 ALTER TABLE 表名 ADD 字段名 类型 COMMENT ON COLUMN 表面.字段名 IS ‘注释内容’ ALTER TABLE GROUP ADD T NUMBER(18) COMMENT ON COLUMN GROUP.T IS ‘ID’ mysql新增、修改字段、已有字段增加默认值 ALTER TABLE 表名 ADD COL…

ps aux | grep xxxx和ps ef | grep xxxx这两个命令有什么区别

命令实例 ps aux | grep nexus和ps ef | grep nexus ps aux | grep nexus 和 ps ef | grep nexus 这两个命令都用于在 Unix 或 Linux 系统中查找与 nexus 相关的进程&#xff0c;但它们在展示进程信息时有细微的区别。 ps aux | grep nexus: ps aux 是一种显示系统上所有运行进…

Java 获取元素坐标详情

获取整个页面的高度 int window_height driver.manage().window().getSize().height; 获取整个页面的宽度 int window_height driver.manage().window().getSize().width; 获取元素大小 高度 int height afghanistanIdItem.getSize().getHeight(); 获取元素大小 宽度 …

中间件 | Redis - [基本信息]

INDEX 1 常规用法2 QPS3 pipeline 1 常规用法 分布式锁 最常见用法&#xff0c;需要注意分布式锁的redis需要单点 分布式事务 分布式事务中&#xff0c;核心的技术难点其实是分布式事务这个事本身作为数据的持久化 2PC&#xff0c;比如 seata 的 AT 模式下&#xff0c;将 un…

HYBBS 表白墙网站PHP程序源码

安装教程 上传程序安装&#xff0c;然后设置账号密码&#xff0c;登陆后台切换模板手机PC都要换开启插件访问前台。 安装完成后如果不能正常访问就删除install安装文件夹 安装完成后右上角登录后点击头图进入后台 找到插件 安装表白墙配置插件 找到模板 将表白墙模板同时设…

Linux 开发工具 yum、git、gdb

目录 一、yum 1、软件包 2、rzsz 3、注意事项 4、查看软件包 5、安装软件 6、卸载软件 二、git操作 1、克隆三板斧 2、第一次使用会出现以下情况&#xff1a; 未配置用户名和邮箱&#xff1a; push后弹出提示 三、gdb使用 1、背景 2、使用方法 例一&#xff1a…

MyBatis的#{}和${}:安全与灵活并存的SQL之道

MyBatis的#{}和${}&#xff1a;安全与灵活并存的SQL之道 MyBatis是一款广泛使用的Java持久化框架&#xff0c;提供了强大的SQL映射和数据库操作功能。在编写MyBatis的SQL语句时&#xff0c;我们经常会遇到#{}和${}两种不同的占位符语法。本文将详细解析#{}和${}的区别以及它们在…

ASML或许正在考虑离开荷兰

《荷兰电讯报》报道称&#xff0c;鉴于全球最大晶圆制造设备生产商阿斯麦尔&#xff08;ASML&#xff09;可能向海外扩张&#xff0c;荷兰政府正在秘密制定计划确保该公司留在本国。这项代号为“贝多芬”的行动旨在解决ASML对于荷兰商业环境的顾虑&#xff0c;包括针对外籍员工…

Day30-Linux基础阶段总复习

Day30-Linux基础阶段总复习 1. 运维人员的三个核心职责&#xff08;了解&#xff09;2. 企业网站和应用的可用性的衡量标准&#xff08;重点&#xff09;2.1 高并发企业业务写入流程图2.2 中小型企业案例 3. Linux系统诞生发展过程中的关键代表人物4. 企业场景如何针对不同的业…

详解动态规划(算法村第十九关青铜挑战)

不同路径 62. 不同路径 - 力扣&#xff08;LeetCode&#xff09; 一个机器人位于一个 m x n 网格的左上角 &#xff08;起始点在下图中标记为 “Start” &#xff09;。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角&#xff08;在下图中标记为 “Finis…