python基础之序列类型的方法——列表元组

Python微信订餐小程序课程视频

https://edu.csdn.net/course/detail/36074

Python实战量化交易理财系统

https://edu.csdn.net/course/detail/35475
Hello大家好,我是python学习者小杨同学,上次跟大家分享关于python的数值类型和序列类型,本次就承接上一节的内容,说一说序列类型的方法。
序列类型的方法,简单的来说就是四个字:增删改查。随着我们学习的深入,我们将会一直围绕着四个字来进行程序的编写及实现,接下来我们就一起学习吧!

列表的方法

首先登场的选手是python的列表,列表属于可变类型,所以它将有完整的增删改查方法,让我们一起来看看具体是什么。

增,故名思意就是可以对列表进行新增元素的操作,python的列表提供了三种新增元素的操作,分别是:append() ,insert(), extend()

append()

首先是append(),它可以将一个元素追加到列表的末尾。
举个栗子:

li = [1, 2, 3, 4, 5]
li.append('hello,world')
print('这是使用了append:', li)
这是使用了append: [1, 2, 3, 4, 5, 'hello,world']

上述代码中,我们使用的是li.append(‘新增内容’)的方式来为列表添加元素
li.append()使列表li调用自身的方法append(),这样就可以在列表的末尾添加一个新的元素。

insert()

接下来是insert(),append()是排队,那insert()就是插队的意思啦,它可以将一个元素插入到列表的自定位置:
li.insert(索引,元素)

li1 = [7, 8, 9, 10]
li1.insert(3, 'helloworld')
print('这是使用了insert:', li1)
这是使用了insert: [7, 8, 9, 'helloworld', 10]

这样就将字符串helloworld插入到了列表的第四个位置里。

extend()

上面两个方法是对单个元素进行增加,如果我们需要增加多个元素怎么办?
那就可以使用我们的extend()来进行添加,extend()可以将序列中的每个元素添加到末尾:

l1 = [1, 2, 3]
l2 = [3, 4, 5, 6, 7, 8, 9]
l1.extend(l2)
print(l1)
[1, 2, 3, 3, 4, 5, 6, 7, 8, 9]

上面的代码先定义了两个列表l1和l2,然后使用l1.extend(l2),将l2的每个元素添加到了l1的末尾。

增加讲完了,接下来进行删除操作,删除也有对应的四个方法:del(),pop(),remove(),clear()

del()

del()是单独的方法,不需要通过列表本身来进行调用,可以直接使用:

li = ['h', 'e', 'l', 'l', 'o', 'w', 'o', 'r', 'l', 'd']
del(li[0]) # 如果删除列表中某个值请填写对应的下标号
print('使用了del',li)
使用了del ['e', 'l', 'l', 'o', 'w', 'o', 'r', 'l', 'd']

上述代码删除了li[0],但是请注意,如果不进行索引的话,默认会将这个变量删除,请谨慎使用:

li = ['h', 'e', 'l', 'l', 'o', 'w', 'o', 'r', 'l', 'd']
del(li) 
print(li)
NameError: name 'li' is not defined

这就是删除了整个变量,再打印这个变量时就会提示变量未定义

pop()

pop()方法不带参数的话删除默认删除最后一个元素,带参数的话则删除指定的下标值:

# pop:不带参数删除最后一个元素
li1 = ['h', 'e', 'l', 'l', 'o', 'w', 'o', 'r', 'l', 'd']
li1.pop()
print('使用了pop不带参数',li1)
使用了pop ['h', 'e', 'l', 'l', 'o', 'w', 'o', 'r', 'l']
# 带参数删除指定下标
li1 = ['h', 'e', 'l', 'l', 'o', 'w', 'o', 'r', 'l', 'd']
li1.pop(0) # 删除第一个元素
print('使用了pop带参数',li1)
使用了pop带参数 ['e', 'l', 'l', 'o', 'w', 'o', 'r', 'l', 'd']

pop()还有个神奇的地方,它可以让你需要删除的参数取出来继续使用,使用完了再进行删除:

li1 = ['h', 'e', 'l', 'l', 'o', 'w', 'o', 'r', 'l', 'd']
a = li1.pop(0)
if a == 'h':print('helloworld')
print('使用了pop带参数',li1)
helloworld
使用了pop带参数 ['e', 'l', 'l', 'o', 'w', 'o', 'r', 'l', 'd']

上述代码使用pop()删除了第一个元素,然后使用第一个元素进行了一个简单的判断,说明pop()可以为我们返回删除的元素,让我们先使用,使用完再删除

remove()

remove()用来删除一个指定元素,无返回值,无法使用下标删除:

li2 = ['h', 'e', 'l', 'l', 'o', 'w', 'o', 'r', 'l', 'd']
li2.remove('l')
print('使用了remove',li2)
使用了remove ['h', 'e', 'l', 'o', 'w', 'o', 'r', 'l', 'd']

上述代码使用remove()删除了一个元素l

clear()

clear()用于清空列表,与del不同的是,它会为我们保留空列表,而不会把变量都删除:

li2 = ['h', 'e', 'l', 'l', 'o', 'w', 'o', 'r', 'l', 'd']
li2.clear()
print('使用了clear',li2)
使用了clear []

上述代码清除了列表后,保留了空列表

改的方法就比较简单,直接索引出下标重新赋值即可:

li = ['h', 'e', 'l', 'l', 'o', 'w', 'o', 'r', 'l', 'd']
li[0] = 'python'  # 将字符串python赋值给li[0]
print(li)
['python', 'e', 'l', 'l', 'o', 'w', 'o', 'r', 'l', 'd']

这里就对li[0]进行了重新赋值

有通过index查询指定元素返回对应下标,也可以使用count来计算该元素出现过的次数:

li = ['h', 'e', 'l', 'l', 'o', 'w', 'o', 'r', 'l', 'd']
print('查询对应下标', li.index('h'))
查询对应下标 0
print(li[0]) #通过下标查询对应的元素
h
# count:查询对应元素在列表中出现的次数,如果列表中没有该元素,则返回0
print('查询元素出现过的次数', li.count('o'))
查询元素出现过的次数 2

其他方法

除了增删改查,列表中还有其他的方法复制copy()、倒叙排列reverse()、从小到大排列sort()

复制

# 复制:copy 复制一个全新的列表,复制后两个表的内存地址不同,不会互相影响,
li = ['h', 'e', 'l', 'l', 'o', 'w', 'o', 'r', 'l', 'd']
print("这是原来的列表", id(li))
这是原来的列表 139786018649480
li1 = li.copy()
print("这是一个复制出来的列表", id(li1), li1)
这是一个复制出来的列表 139786021304584 ['h', 'e', 'l', 'l', 'o', 'w', 'o', 'r', 'l', 'd']

使用li.copy(),再用一个变量接收复制的列表,就可以实现复制出一个新的列表来

倒叙排列

li = ['h', 'e', 'l', 'l', 'o', 'w', 'o', 'r', 'l', 'd']
li.reverse()
print("对列表倒叙排序", li)
对列表倒叙排序 ['d', 'l', 'r', 'o', 'w', 'o', 'l', 'l', 'e', 'h']

从小到大排列

sort()方法可以将数字类型的进行从小到大的排列,一般也用于同类型的排列

li2 = [1, 5, 12, 8, 23, 10, 11, 500]
li2.sort()
print("对列表从小到达排序", li2)
对列表从小到达排序 [1, 5, 8, 10, 11, 12, 23, 500]

元组方法

元组做为不可变类型,只能查和删,如果需要其他操作需要转换成列表

# 查,与列表相同,index返回下标和count计算元素出现的个数
a = (1, 2, 3, 4, 5, 6, 6, 6, 6, 6, 6, 6)
# 使用index返回元素的下标值
print(a.index(3))
2
也可以使用索引查询对应的值
print(a[0])
1
# 使用count返回元素出现的个数
print(a.count(6))
7

只能删除整个元组,无法使用下标值,删除后再使用会提示没有定义变量

a = (1, 2, 3, 4, 5, 6, 6, 6, 6, 6, 6, 6)
del (a)
print(a)
NameError: name 'a' is not defined

元组只有查和删的方法,如果需要修改应先转成列表修改再转回元组,但是不建议这么做,因为修改过的元组就已经不是原来的那个元组了,而且设置元组也是为了这组数据不希望受到修改

总结

以上就是关于列表&元组的方法了,有兴趣的小伙伴可以自己尝试一下。
如果有哪里错误或者不好的地方,还请各位大佬指出来,我会虚心接受并修改错误,谢谢!

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

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

相关文章

北方网-ios预科班

http://www.tudou.com/listplay/9oNp8KgmJZw.html 转载于:https://www.cnblogs.com/freeliver54/archive/2012/09/16/2687189.html

管家婆SQL SERVER数据库“可能发生了架构损坏。请运行DBCC CHECKCATALOG”修复

【数据库故障描述】用户在使用过过程中,由于突然断电,造成数据无法读取。DBCC检测数据库提示以下错误消息211,级别23,状态51,第1 行可能发生了架构损坏。请运行DBCC CHECKCATALOG。消息0,级别20&#xff0c…

1009 产生数 2002年NOIP全国联赛普及组

009 产生数 2002年NOIP全国联赛普及组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description给出一个整数 n&#xff08;n<10^30) 和 k 个变换规则&#xff08;k<15&#xff09;。  规则&#xff1a;   一位数可变换成另一个一位数&#…

K近邻算法

Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.csdn.net/course/detail/35475 一、K近邻算法简介 K近邻算法(K-Nearest Neighbor)简称KNN算法,是最简单的预测模型之一&#xff0c;它没有多少数学上的假设…

easyui 点滴记录

为什么80%的码农都做不了架构师&#xff1f;>>> 【1.安装】&#xff1a;pip install easygui 【2.常用】 integerbox 交互式输入数字textbox 交互式输入文本ccbox 确认判断boolbox 是否判断multchoicebox 多选条目choicebox 单选条目buttonbox 单选按钮【3.体验一…

如何在邮件系统中使用自己的域名?

如何在邮件系统中使用自己的域名&#xff1f; 主要分为以下两种情况&#xff1a;1.MX记录已经存在&#xff1a; 如果MX记录已经存在&#xff0c;并且已经检查出是在某一个域名服务器上&#xff0c;您需要做的工作就是与您的域名服务商或该域名服务器的管理人员联系&#xff0c;…

IAR切BANK--BANK说明

一、为什么要用到BANK&#xff1f; C51单片机的最大寻址范围为2^1664K&#xff0c;为了突破64K代码的限制&#xff0c;就需要采用C51的切BANK。 二、切BANK的原理 代码地址空间的上半部 ,以重叠BANK0的物理地址空间 , 硬件设计了 n个存储 器页面来存储程序代码 。在任一时刻 …

pl/sql developer 自带汉化选项

pl/sql developer 自带汉化选项 版本&#xff1a;11.0.2 工具 -> 选项 -> 用户界面 ->外观&#xff0c; 第一项就是选择语言&#xff1b; 选择Chinese.lang&#xff0c;如果有的话&#xff1b; 转载于:https://www.cnblogs.com/stono/p/6645548.html

实现自己的BeanFactory、AOP以及声明式事务

实现自己的BeanFactory 在使用spring时&#xff0c;我们很少用"new"关键字创建对象&#xff0c;而是通过spring容器BeanFactory提供的getBean()方法得到对象&#xff1a; BeanFactory ctx new C…

Docker遇到的一些问题和感想

Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.csdn.net/course/detail/35475 Docker 是“不可变”架构。 当你希望改变一个服务的时候&#xff08;比如更新版本、修改配置、开放端口&#xff09;&#…

hdu 4293 Groups DP

http://acm.hdu.edu.cn/showproblem.php?pid4293 题意&#xff1a; 有n个人分成了若干组走在一条林荫道路上&#xff0c;导游为了能够确定人数&#xff0c;要求每个人喊出自己所在的队伍前边有多少人Ai表示,后边有多少人Bi表示&#xff0c;于是我们得到了n条信息。这里面有错误…

IAR切BANK--命令连接器文件xcl格式说明

IAREWARM中段后缀含义 后缀 段类型 含义 AC CONST 绝对地址定位常数 AN DATA 用关键字__no_init声明的绝对地址定位数据 C CONST 常数 I DATA 初始化值为非0的数据 ID CONST 上述数据的初始式 N DATA 未初始化的数据 Z DATA 初始化值为0的数据 ROM用于…

ARM系列处理器的分类

1.ARM ARM即以英国ARM&#xff08;Advanced RISC Machines&#xff09;公司的内核芯片作为CPU&#xff0c;同时附加其他外围功能的嵌入式开发板&#xff0c;用以评估内核芯片的功能和研发各科技类企业的产品. ARM 微处理器目前包括下面几个系列&#xff0c;以及其它厂商基于 AR…

DBA_Oracle Table Partition表分区概念汇总(概念)

2014-06-20 Created By BaoXinjian 一、摘要 有关表分区的一些维护性操作&#xff1a; 注&#xff1a;分区根据具体情况选择。 表分区有以下优点&#xff1a; 1、数据查询&#xff1a;数据被存储到多个文件上&#xff0c;减少了I/O负载&#xff0c;查询速度提高。 2、数据修剪&…

electron打包vue项目

Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.csdn.net/course/detail/35475 创建项目 点击这里 添加electron-builder 1、在项目目录下运行命令&#xff1a;vue add electron-builder 2、electron-…

Hdu 4293 DP

题意&#xff1a; n个人说自己前面有多少人 后面有多少人 求出说真话人数最多的情况 每个样例有 一个 n 表示n个人 接下来 n 行有a b 表示他前面的人数和后面的人数 思路&#xff1a; 如果已经知道了其中一组的人数~ 就往前找..找在这一组之前与这一组的话不矛盾的最多人数 Ti…

IAR切BANK--程序中的使用

一、在IAR的集成开发环境中实现数据变量定位方法如下三种 1、__no_init char alpha 0x0200; 2、#pragma location 0x0202 const int beta; 3、const int gamma 0x0204 3; 或&#xff1a; 1&#xff09;__no_init int alpha "MYSEGMENT"; //MYSEGMENT段可在…

你需要知道的vue2 jsx render函数

通常开发vue我们使用的是模板语法&#xff0c;其实还有和react相同的语法&#xff0c;那就是render函数&#xff0c;同样支持jsx语法。 Vue 的模板实际是编译成了 render 函数。 0 传统的createElement方法 createElement(anchored-heading, {props: {level: 1}}, [createEleme…

|与||的区别

在众多编程语言中&#xff0c;|与||代表了不同的运算。其中|是按位或运算&#xff0c;||是逻辑或运算。从字面意思来理解&#xff0c;|常可以用于具体数值的计算&#xff0c;结果为数值&#xff0c;而||是用来逻辑运算的没结果只有False或者True。例如int a 2; int b 3; int …

CSS/CSS3语法新特性笔记

Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.csdn.net/course/detail/35475 CSS层叠样式表 三大特性 层叠性&#xff1a;相同的样式会覆盖 继承性&#xff1a;属性可向下继承 优先级&#xff1a;范…