关于python中的列表和元组

变量就是一块内存空间,用来表示/存储数据

如果表示的数据较少,直接定义几个变量就行了

但是也有的时候,要表示的数据就比较多,如果只是通过定义一个变量来表示一个数据的话,这样的工作效率太低,

所以在python中提供了列表和元组,这样的机制,可以用一个变量来表示多个数据就类似于C语言中的数组,

列表和元组,大部分的功能都是差不多的!但是有一个功能是非常明显的区别:

列表是可变的:创建好了之后,随时能改

元组是不可变的:创建好了之后,改不了,要想改,只能丢弃旧的,搞个新的~

列表的创建

创建列表的第一种方式

1.直接使用字面值来创建

[ ] 就表示一个空的列表

a = [ ] 

print(tpye(a))

创建列表的第二种方式

2.使用list()来创建

b = list()

print(type(b))

如上图所示,查看列表的类型是list

可以在创建列表的时候,在[ ]中指定列表的初始值

元素之间使用,英文逗号来进行分割。

a = [1,2,3,4]

在C++/Java里面要求一个数组里只能存相同类型的变量~

python里的列表则无限制,放啥类型都可以!!

可以在同一个列表中创建不同类型的变量

如上图所示,a = [1,'hello',Treu,[4,5,6]]

列表中访问下标

列表里面可以管理很多类型的元素~

通过下标访问的方式来获取到列表中的元素~~

用到一个下标访问运算符~~[ ] 

python中列表中的元素是从0开始计数的。

使用下标来访问元素

使用下标来修改元素

访问列表的下标时,不应超过下标的有效范围

由于下标是从0开始计算的,

对于列表来说,下标的有效范围,从0,到长度-1

当我们下标超出有效范围的时候,尝试访问,就会出现异常

如上图所示,当列表变量[访问列表的下标]  超出列表下标的有效范围以后,就会报错

可以使用内建函数len来获取到列表的长度(元素个数),和字符串类似。

a=[1,2,3,4 ]

print(len(a))

len可以传字符串,列表,元组,字典,自定义的类,==》》动态类型

python中的下标,其实还可以写成负数

如上图所示,python中的下标,还可以写成负数,比如说-1就是倒数第一个元素。

列表中的切片操作

通过下标操作是一次取出里面第一个元素。

通过切片,则是一次取出一组连续的元素,相当于得到一个子列表。

使用[:] 的方式进行切片操作

alist = [1,2,3,4]

print(alist[1:3])

输出结果是[2,3]

切片操作中,

使用切片的时候,省略边界

a = [1,2,3,4]

省略后边界,意思是从开始位置,一直取到整个列表结束。

print(a[1:])

切片操作采用前闭后开的取值

切片操作是一个比较高效的操作,进行切片的时候,只是取出了原有列表中的一个部分,并不涉及到“数据的拷贝”

假设有一个很大的列表,进行切片,切片的范围也很大,即使如此,切片操作仍然非常高效。

切片操作,还可以指定“步长”,

切片操作,还可以指定“步长”,

关于python列表中元素的遍历

把一个列表里面的每个元素,都依次的取出来,并进行某种操作

遍历往往就要搭配循环。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

QT学习之标签+鼠标/定时器

标签鼠标 QEvent 需求鼠标进入控件范围会进行相关操作 在QEnterEvent类中 [virtual protected] void QWidget::enterEvent(QEnterEvent *event)虚成员函数可以进行重写 实现鼠标进入或离开Lable会打印输出 新建一个父类为QWidget的名字为mylable的C类文件 先声明在.h文件这…

[HGAME 2023 week4]shellcode

看题目,将base64解密,然后dump下来,再拉进ida里,发现为tea加密 在tea加密中得到key 密文就是另外的一个文件 exp import re from ctypes import *import libnumdef decrypt(v, k):v0, v1 c_uint32(v[0]), c_uint32(v[1])delta…

HTML做成一个炫酷跳动爱心的页面

大家好,今天制作制作一个炫酷跳动爱心的页面! 先看具体效果: 要创建一个炫酷跳动爱心的HTML页面,你可以使用HTML、CSS和JavaScript的组合。以下是一个简单的示例,它使用CSS动画和JavaScript来实现跳动效果。 首先&…

【NetTopologySuite类库】C#生成带约束(线、面)的Delaunay三角网

介绍 API地址:https://nettopologysuite.github.io/NetTopologySuite/api/NetTopologySuite.Triangulate.ConformingDelaunayTriangulationBuilder.html#NetTopologySuite_Triangulate_ConformingDelaunayTriangulationBuilder_Constraints 约束为线 效果图 红色…

计算机系统基础笔记(12)——控制

前言 在持续输出ing 一、条件码 1.处理器状态(x86-64,部分的) 当前程序的执行信息 ◼ 临时数据 ◼ 运行时栈的位置(栈顶) ◼ 当前代码控制点的位置(即将要执行的指令地址) ◼ 最近一次指令执…

使用缓存降低数据库并发读写方案探索

文章目录 前言缓存设计思想缓存划分缓存应用时机 客户端缓存浏览器缓存网关或代理服务器缓存CDNPCDN 服务端缓存本地缓存本地缓存实现Java堆缓存memcached/ecachecaffeineORM框架一级/二级缓存 分布式缓存分布式缓存优缺点分布式缓存实现分布式缓存实施过程可能遇到问题分布式缓…

【模拟-BM100 设计LRU缓存结构】

题目 BM100 设计LRU缓存结构 描述 设计LRU(最近最少使用)缓存结构,该结构在构造时确定大小,假设大小为 capacity ,操作次数是 n ,并有如下功能: Solution(int capacity) 以正整数作为容量 capacity 初始化 LRU 缓存get(key)&am…

【C#】WinForm关闭新(二级)界面使主程序关闭

参考视频:https://www.bilibili.com/video/BV1JY4y1G7jo?p14&vd_source1c57ab1b2e551da5b65c0dfb0f05a493 1.背景介绍 主程序界面,点击弹出二级界面(同时隐藏主界面),不做任何设置,这时关闭二级界面…

SpringCloud-OpenFeign拓展-连接池、最佳使用方法、日志输出

目录 1 OpenFeign连接池 1.1 常见连接类型 1.2 连接池使用方法 1.2.1 引入依赖 1.2.2 开启连接池功能 1.2.3 配置完成,重启实例即可,底层将更改设置。 2 OpenFeign最佳使用方法 2.1 每个微服务都是单独的project,内部有三个独立模块 …

脖子以下是人机交互,脖子以上是人机融合智能

“脖子以下是人机交互,脖子以上是人机融合智能”这句话是当前人与人工智能配合技术发展的一种形象描述,一个是生理物理,一个是人脑电脑: 1、人机交互的重要性 脖子以下的人机交互在当前的人工智能系统中扮演着重要的角色。人机交互…

Leetcode1161. 最大层内元素和

Every day a Leetcode 题目来源:1161. 最大层内元素和 解法1:层序遍历 每次以「层」为单位进行拓展,统计该层的元素和,维护处理过程中的最大值层数和,以及层深度。 代码: /** lc appleetcode.cn id116…

Unity 编辑器扩展,获取目录下所有的预制件

先看演示效果 实现方案 1创建几个用于测试的cube 2,创建一个Editor脚本 3,编写脚本内容 附上源码 using UnityEditor; using UnityEngine;public class GetPrefeb : EditorWindow {private string folderPath "Assets/Resources"; // 指定预…

两款好用的IOS、Android图片处理应用

GIF 小助手 GIF工具包是一个简单实用的GIF动画编辑器,目前仅支持IOS平台。 使用该软件,可以将多个图像、视频和现场照片创建为gif。 主要功能: 多种输入源:用户可以将多个图片、视频或Livephoto转换成GIF动图。 编辑功能&#…

深度解析:ChatGPT全面测评——功能、性能与用户体验全景剖析

从去年底至今,由 OpenAI 发布的大规模语言模型 ChatGPT 引发了几乎所有科技领域从业者的高度关注。据瑞银集团的报告显示,自 2023 年 1 月起,仅两个月内,ChatGPT 的月活用户数便超过了 1 亿。 ChatGPT 被誉为“最强 AI”&#xff…

【C++】用红黑树封装map、set

用红黑树封装map、set 1. 红黑树1.1 模板参数的控制1.1.1 Value1.1.2 KeyOfValue 1.2 正向迭代器1.2.1 构造函数1.2.2 begin()end()1.2.3 operator()1.2.4 operator--()1.2.5 operator*()1.2.6 operator->()1.2.7 operator()1.2.8 operator!()1.2.9 总代码 1.3 反向迭代器1.…

vue2的element的table组件使用form校验

1.需求描述 vue2有时候做自增表格el-table&#xff0c;希望能够带一些校验&#xff0c;但又不想手搓校验逻辑&#xff0c;可以借用el-form的校验逻辑。 2.代码处理 1. html <template><div class"sad-cont"><el-form ref"form" :model&…

WPF视频学习-基础知识篇

1.简介WPF&#xff1a; C# 一套关于windows界面应用开发框架 2.WPF和winform的差别 &#xff0c;(WPF比较新) 创建新项目使用模板&#xff1a; WPF使用.xaml后缀&#xff0c;双击可查看操作界面和设置代码&#xff0c;其文件展开之后中有MainWindow.xaml.cs为程序交互逻辑。…

1.Vue2使用ElementUI-初识及环境搭建

目录 1.下载nodejs v16.x 2.设置淘宝镜像源 3.安装脚手架 4.创建一个项目 5.项目修改 代码地址&#xff1a;source-code: 源码笔记 1.下载nodejs v16.x 下载地址&#xff1a;Node.js — Download Node.js 2.设置淘宝镜像源 npm config set registry https://registry.…

Python实现连连看9

&#xff08;2&#xff09;标识选中的图片 在判断出玩家选中的是哪一张图片之后&#xff0c;接下来就可以标识选中的图片了&#xff0c;即在该选中的图片外围画矩形。代码如下所示。 FIRSTCLICK True #FIRSTCLICK是全局变量 if(click_col>0 and click_row>0) and \(no…

GUI编程-01

组件 窗口 弹窗 面板 文本框 列表框 按钮 图片 监听事件 鼠标 键盘事件 破解工具 Java提供了丰富的图形用户界面&#xff08;Graphics User Interface&#xff0c;GUI&#xff09;的类库&#xff0c;基于这些类库可以编写窗口程序。 Java关于图形界面的类库主要放在…