2-python的变量类型

news2024/11/24 2:34:49

内容提要

主要介绍了python中的变量类型,之前不经常用的点有:
列表的下标可以是负数,无论正负,都是从左侧开始,从左到右依次递增。
还有截取操作[头:尾:步长),+表示连接,*表示重复。
列表与元组类型的区别
字典类型的使用(类似于map)

python的变量类型

python中有五种标准的数据类型:

  • Numbers(数字)
  • String(字符串)
  • List(列表)
  • Tuple(元组)
  • Dictionary(字典)

python中的变量不需要声明,变量的赋值操作既是变量声明和定义的过程。 这和C++很不一样。

string 字符串类型

字符串类型的访问方式和C++有些许区别

字串列表的取值顺序有两种,从左到右和从右到左,从左到右的索引是从0开始的,从右到左的索引是从-1开始的。

python-string-slice.png

ss = "Hello World!"
print(ss[0])
print(ss[-1])
print(type(ss))
H
!
<class 'str'>

如果要实现从字符串中截取一段子串的话,可以使用[头下标:尾下标]来截取相应的字符串,其中下标是从0开始算起的,可以是正数或者负数,下标可以为空表示取到头或者尾。

s = "Hello World!"
s1 = s[0:5]
print(s1)
s2 = s[6:]
print(s2)
Hello
World!
s = "Hello World!"
s1 = s[-7:-1]
print(s1)
s2 = s[-7:]
print(s2)
 World
 World!

所以,头坐标都是相对于左边的,尾下标都是相对于右边的。

而且,这个[头坐标:尾座标] 其实是数学中的前闭后开区间,也就是截取的范围是[头坐标:尾坐标)

s = "Hello World!"
s1 = s[:-1]
print(s1)
s2 = s[:2]
print(s2)
Hello World
He

同理,头坐标也是可以进行省略的,如果省略的话,就表示从头开始截取。再次强调❗️头坐标是相对于左边的。
最左边都是最小值,最右边都是最大值,只不过负数的最大和最小与其绝对值正好相反。

Python 列表截取可以接收第三个参数,参数作用是截取的步长,以下实例在索引 1 到索引 4 的位置并设置为步长为 2(间隔一个位置)来截取字符串:也就是这个样子的[头坐标:尾坐标:步长]

s = "Hello World!"
s1 = s[0:5:2] # [0,5),步长为2,每间隔一个字符取一个进行输出
Hlo

list 列表类型

列表可以完成大多数集合类的数据结构实现,比如队列、栈等。

它支持字符、数字、字符串甚至可以包含列表(即嵌套)。

列表直接用中括号[]表示,内部元素用逗号,隔开。

和字符串一样,列表同样可以被索引和截取,列表被截取后返回一个包含所需元素的新列表。

对了,列表中和字符串类似,也可以使用[头坐标:尾坐标:步长]来截取。同时,+表示连接运算符,*是重复操作。

list1 = [1,2,'hello','world']
print(list1)

print(list1[0::2])

print(list1 * 2)

print(list1 + [3,4,5])

# print(list1 + 1) # 报错

print(type(list1))
[1, 2, 'hello', 'world']
[1, 'hello']
[1, 2, 'hello', 'world', 1, 2, 'hello', 'world']
[1, 2, 'hello', 'world', 3, 4, 5]
<class 'list'>

列表竟然还可以直接用加号来拼接,这简直了!!!
🐖 需要注意的是,➕只能用来连接同种类型的数据,比如列表只能和列表连接,字符串只能和字符串连接,不能混着来。

# print('111'+1) # 报错

tuple 元组类型

元组类似于列表,但是 元组的元素不能修改 ,元组使用小括号(),列表使用方括号[]

tuple1 = (1,2,'hello','world',(4,5,6))
print(tuple1)
print(tuple1[4][0:2])
print(tuple1[4][0:2][0])
for e in tuple1:
    print(type(e))
(1, 2, 'hello', 'world', (4, 5, 6))
(4, 5)
4
<class 'int'>
<class 'int'>
<class 'str'>
<class 'str'>
<class 'tuple'>

总之,对于tuple来说,只需要记住,它和list的不同之处在于,tuple是不可变的,而list是可变的。

dictionary 字典类型

列表是有序的对象集合,而字典是无序的对象集合。

字典当中的元素是通过键来存取的,而不是通过偏移存取。 类似于C++中的map。

字典用{} 来进行标识,字典由索引(key)和它对应的值value组成。

dict = {}
dict['one'] = "This is one"
dict[2] = "This is two"
tinydict = {'name':'john','code':6734,'dept':'sales'}
print(dict['one'])
print(dict[2])
print(tinydict)
print(tinydict.keys())
print(tinydict.values())
print(type(tinydict))
This is one
This is two
{'name': 'john', 'code': 6734, 'dept': 'sales'}
dict_keys(['name', 'code', 'dept'])
dict_values(['john', 6734, 'sales'])
<class 'dict'>

总结

在这里插入图片描述

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

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

相关文章

springboot+vue地方废物回收机构管理(java项目源码+文档)

风定落花生&#xff0c;歌声逐流水&#xff0c;大家好我是风歌&#xff0c;混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的地方废物回收机构管理。项目源码以及部署相关请联系风歌&#xff0c;文末附上联系信息 。 &#x1f495;&#x1f495;作者&#xff1…

leetcode--删除链表的倒数第N个节点(java)

删除链表的倒数第N个节点 Leetcode 19 题解题思路代码演示链表专题 Leetcode 19 题 19 删除链表的倒数第N个节点 -可以测试 题目描述&#xff1a; 给你一个链表&#xff0c;删除链表的倒数第 n 个结点&#xff0c;并且返回链表的头结点 示例1&#xff1a; 输入&#xff1a;he…

javascript基础五:深拷贝浅拷贝的区别?如何实现一个深拷贝?

一、数据类型存储 JavaScript中存在两大数据类型&#xff1a; 基本类型引用类型 基本类型数据保存在在栈内存中 引用类型数据保存在堆内存中&#xff0c;引用数据类型的变量是一个指向堆内存中实际对象的引用&#xff0c;存在栈中 二、浅拷贝 浅拷贝&#xff0c;指的是创建新…

springcloud分布式架构网上商城(java项目源码+文档)

风定落花生&#xff0c;歌声逐流水&#xff0c;大家好我是风歌&#xff0c;混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的分布式架构网上商城。项目源码以及部署相关请联系风歌&#xff0c;文末附上联系信息 。 &#x1f495;&#x1f495;作者&#xff1a;…

LLM时代NLP研究何去何从?一个博士生的角度出发

深度学习自然语言处理 原创作者&#xff1a;Winni 前言 最近&#xff0c;大语言模型&#xff08;LLMs&#xff09;在许多任务上表现出接近人类水平的性能&#xff0c;这引发了行业兴趣和资金投入的激增&#xff0c;有关LLMs的论文最近也层出不穷。 看起来&#xff0c;NLP领域似…

博客系统(ssm版本)

在前面的文章中给大家介绍过博客系统的servlet版本&#xff0c;但是servlet的技术非常的老旧&#xff0c;我们在企业中用的都是springboot相关的框架&#xff0c;本章内容就是讲述如何一步一步的利用ssm的技术来实现博客系统。 目录 前期配置 创建数据库 配置文件 公共文件…

30 VueComponent 事件的绑定

前言 这是最近的碰到的那个 和响应式相关的问题 特定的操作之后响应式对象不“响应“了 引起的一系列的文章 主要记录的是 vue 的相关实现机制 呵呵 理解本文需要 vue 的使用基础, js 的使用基础 测试用例 用例如下, 我们这里核心关注 事件的处理流程 问题的调试 整个…

c# cad二次开发 通过选择txt文件将自动转换成多段线

c# cad二次开发 通过选择txt文件将自动转换成多段线&#xff0c;txt样式如下 using System; using System.Collections.Generic; using System.Text; using Autodesk.AutoCAD.ApplicationServices; using Autodesk.AutoCAD.EditorInput; using Autodesk.AutoCAD.Runtime; usi…

chatgpt赋能python:Python改变图片大小对SEO的影响

Python改变图片大小对SEO的影响 简介 Python作为一门高效的编程语言&#xff0c;广泛应用于各个行业&#xff0c;并在图像处理领域中也有很多应用。其中一个常见的应用就是改变图片的大小。在SEO&#xff08;搜索引擎优化&#xff09;中&#xff0c;图片大小的优化对网站的排…

chatgpt赋能python:Python批量输出:提高工作效率的必备技能

Python批量输出&#xff1a;提高工作效率的必备技能 在日常工作中&#xff0c;我们往往需要批量处理某些数据。Python作为一种流行的编程语言&#xff0c;可以帮助我们快速地完成这项任务。本文将介绍Python批量输出的基本知识和实用技巧&#xff0c;帮助读者提高工作效率。 …

chatgpt赋能python:Python改变当前目录的SEO指南

Python改变当前目录的SEO指南 介绍 对于SEO来说&#xff0c;网站的目录结构和文件命名是非常重要的。良好的目录结构可以帮助搜索引擎更好地理解您的网站内容&#xff0c;而有意义的文件命名可以提高页面的可读性并有助于排名。 但在开发过程中&#xff0c;我们经常需要在不…

铁粉数量上一百了

铁粉数量上一百了 常写博客&#xff0c;常进步。

【Python】类与对象

知识目录 一、写在前面✨二、类与对象简介三、Car类的实现四、Date类的实现五、总结撒花&#x1f60a; 一、写在前面✨ 大家好&#xff01;我是初心&#xff0c;希望我们一路走来能坚守初心&#xff01; 今天跟大家分享的文章是 Python中面向对象编程的类与对象。 &#xff0…

一道北大强基题背后的故事(一)——从走弯路到看答案

早点关注我&#xff0c;精彩不错过&#xff01; 在前面的系列文章《我的数学学习回忆录——一个数学爱好者的反思&#xff08;二&#xff09;》中&#xff0c;我从宏观层面回忆了我的数学学习历程和反思。其实&#xff0c;我和数学之间还有很多很多意识流一样的交流和故事&…

训练DeeplabV3+来分割车道线

本例我们训练DeepLabV3语义分割模型来分割车道线。 DeepLabV3模型的原理有以下一些要点&#xff1a; 1&#xff0c;采用Encoder-Decoder架构。 2&#xff0c;Encoder使用类似Xception的结构作为backbone。 3&#xff0c;Encoder还使用ASPP(Atrous Spatial Pyramid Pooling)&…

听听飞桨框架硬核贡献者如何玩转开源!

当仰望星空时&#xff0c;你在想什么&#xff1f;我在想象&#xff0c;未来可能是什么样子。从应用广泛的人工神经网络&#xff0c;到火遍全网的AIGC&#xff0c;创造新宇宙的人&#xff0c;相信永远看不到天花板。 在这些神奇的AI产品背后&#xff0c;有一个了不起的开源项目—…

滴滴时空供需系统的设计和演进

本篇文章分为&#xff1a; 1.背景介绍 2.系统框架的演进 2.1 旧系统框架的不足 2.2 新系统框架的优势 3.系统建设思考 3.1 存储治理 3.2 性能优化 3.3 研发提效&#xff1a;配置化能力升级 3.总结 1. 背景介绍 时空供需系统(SDS, supply and demand system)是为了满足滴滴网约车…

开箱即用的工具函数库xijs更新指南(v1.2.6)

xijs 是一款开箱即用的 js 业务工具库, 聚集于解决业务中遇到的常用函数逻辑问题, 帮助开发者更高效的开展业务开发. 接下来就和大家一起分享一下 v1.2.6 版本的更新内容以及后续的更新方向. 贡献者列表: 1. 计算变量内存calculateMemory 该模块主要由 zhengsixsix 贡献, 我们可…

leetcode练习(汇总插入区间)

文章目录 题目一&#xff1a;汇总区间题目二&#xff1a;插入区间 语言&#xff1a;python 工具&#xff1a;jupyuter 题目一&#xff1a;汇总区间 给定一个 无重复元素 的 有序 整数数组 nums 。 返回 恰好覆盖数组中所有数字 的 最小有序 区间范围列表 。也就是说&#xff0c…

“程序员,致敬!”

手机震动&#xff0c;提醒着我3年前参加研发的应用迎来了一次重大升级。我按下开源社区提供的合并请求按钮&#xff0c;与开源社区的朋友分享我对这个项目的改进。不久&#xff0c;一条消息提醒我合并请求已被其它社区成员审核通过。 这种远程协作、开源分享的方式是如今广泛存…