python 基础之列表的操作和列表的相关函数
一.列表的相关操作
1.列表的拼接
list1 = [1,2]
list2 = [3,4]
listvar = list1 + list2
print(listvar)
2.列表的重复
lst = [1,2,3]
listvar = lst * 3
print(listvar)
3.列表的切片
语法 =>列表[::] 完整格式: [开始索引:结束索引:间隔值]
(1)[开始索引:] 从开始索引截取到列表的最后
(2)[:结束索引] 从开头截取到结束索引之前(结束索引-1)
(3)[开始索引:结束索引] 从开始截取到结束索引之前(结束索引-1)
(4)[开始索引:结束索引:间隔值] 从开始索引截取到结束索引之前按照指定的间隔截取列表元素值
(5)[:]或[::] 截取所有列表
(1)[开始索引:] 从开头截取到列表的最后
listvar = ["one","two","three","four","five","six","seven","eight","nine","ten"]
res = listvar[3:]
print(res)
(2)[:结束索引] 从开头截取到结束之前(结束索引-1)
res = listvar[:4]
print(res)
(3)[开始索引:结束索引] 从开始索引截取到结束索引之前(结束索引-1)
res = listvar[::2]
print(res)
(4)[开始索引:结束索引:间隔值] 从开始索引截取到结束索引之前按照指定的间隔截取列表值
res = listvar[::2]
print(res)
#输出:['two', 'five']
res = listvar[1:-4:3]
print(res)
#-1 -2 -3 -4 -5...
res = listvar[::-1]
print(res)
(5)[:]或[::]
res = listvar[:]
print(res)
4.列表的获取 (同元组)
# 0 1 2 3 正向索引
list = ["one","two","three","four"]
# -4 -3 -2 -1 逆向索引
res = listvar[-1]
print(res)
res = listvar[2]
print(res)
5.列表的修改 (可切片)
(1)通过索引元素修改值
listvar = ["one","two","three","four"]
listvar[1] = "five"
print(listvar)
#得到:['one', 'five', 'three', 'four']
(2)通过切片批量修改的
修改的时候注意:如果切割出来元素比要替换的元素少,依然可以将想要增加的元素插入到列表中,并将原来位置的元素向后推
list = ["one","two","three","four"]
list[:2] = ["five","six",'seven',"eight"]
print(list)
#结果为:["five","six",'seven',"eight"]
#效果是one和two 被["five","six",'seven',"eight"]替换,["five","six",'seven',"eight"]
中的元素一个个插入,然后将three 和four往后推.
#在列表切片修改的时候,右侧的值需要iterable(可迭代性数据=>容器类型数据 range对象 迭代器)
listvar = ["one","two","three","four"]
listvar[::2] = range(2) #range(2) 0 1 2 2取不到
print(listvar)
#效果:[0, 'two', 1, 'four']
#注意这个所替换的数据要和列表可替换数据对应该,比如要替换2个元素,那么列表需要刚好满足能替换2个元素才能成立,否则会报错
#如下报错的例子:
listvar = ["one","two","three","four","five"]
listvar[::2] = range(2) #range(2) 0 1 2 2取不到
print(listvar)
#ValueError: attempt to assign sequence of size 2 to extended slice of size 3
(6)列表的删除 (可切片)
#例1:
listvar = ["one","two","three","four"]
#使用del 关键字,实现删除操作
del listvar[0]
print(listvar)
#得出结果:['two', 'three', 'four'] one元素被删除
'''
a = 5
print(a)
del a
print(a)
'''
#例2:(删除切割得到的元素)
listvar = ["one","two","three","four"]
del listvar[::2] #2为步长
print(listvar)
#结果为:['two', 'four']
#例3:
listvar = ["one","two","three","four"]
del listvar[1:3]
print(listvar)
#结果:['one', 'four']
#切记注意
listvar = ["one","two","three","four"]
res = listvar[1:3]
del res #error 不能直接删除列表中的元素,而是删除的res的变量
#del listvar[1:3]
print(listvar)
#得到的结果:['one', 'two', 'three', 'four'] 这样的结果就是没有改变列表,而仅仅是删除了res变量.
二.列表的相关函数
从 (增删改查)来进行分析:
1.增加的操作 append insert extend
#(1) append
功能:向列表的末尾添加新的元素
格式:列表.append(值)
返回值:None
注意:新添加的值在列表的末尾,该函数直接操作原有列表
#例:
listvar = ["one","two","three","four"]
listvar.append("five")
print(listvar)
#结果为:['one', 'two', 'three', 'four', 'five']
#(2) insert
功能:在指定索引之前插入元素
格式:列表.insert(索引,值)
返回值:None
注意:直接改变原有列表
#例:
listvar = ["one","two","three","four"]
listvar.insert(1,"five")
print(listvar)
#结果是:['one', 'five', 'two', 'three', 'four'] 索引为1 ,索引在原来two的位置插入一个元素,并将别的数据往后移动
#(3) extend
功能: 迭代追加所有元素
格式:列表.extend(可迭代性数据)
返回值:None
注意:至二级改变原有列表
#例1:(如果是字符串一个字符当一个元素插入列表中)
listvar = ["one","two","three","four"]
listvar.extend("abc")
print(listvar)
#结果为:['one', 'two', 'three', 'four', 'a', 'b', 'c']
#例2:(里面是元组将元组中的元素一个个插入列表中)
listvar = ["one","two","three","four"]
listvar.extend(("five","six","seven"))
print(listvar)
#结果:['one', 'two', 'three', 'four', 'five', 'six', 'seven']
#必须是容器类型数据,123不是容器类型数据,所以会出错
#listvar.extend(123) #error
2.删除操作 pop remove clear
#(1)pop
功能: 通过执行索引删除元素,若没有索引移除最后那个
格式: 列表.pop(索引)
返回值: 删除的元素
(注意: 没有指定索引,默认移除最后一个元素)
#例1:(没有指定索引,默认移除最后一个元素)
listvar = ["one","two","three","four"]
res = listvar.pop()
print(res) #输出删除的元素
print(listvar) #列表被改为
#最后一个输出的结果是:['one', 'two', 'three'] 原来列表的four被删除
#例2:
#如果指定索引,那么删除索引下标对应的那个值,如果不指定,默认删除最后一个
listvar = ["one","two","three","four"]
res = listvar.pop(0)
print(listvar)
#结果为删除第一个元素得:['two', 'three', 'four']
#(2)remove
功能:通过给予的值来删除,如果多个相同元素,默认删除第一个
格式:列表.remove(值)
返回值:无
(注意:如果有索引的情况推荐使用pop,效率高于remove)
#例:
listvar = ["one","two","three","four"]
res = listvar.remove("three")
print(res) #返回的结果是None
print(listvar)
#得到的结果:['one', 'two', 'four']
# (3) clear
功能:清空列表
格式:列表.clear()
返回值:空列表
listvar = ["one","two","three","four"]
listvar.clear()
print(listvar)
#输出空列表
3.改 查 可以看列表的相关操作
#其他方法
#(1) index
功能:获取某个值在列表中的索引
格式:列表.index(值[,start][,end])# []表达参数可选项
返回值: 找到返回索引(找不到报错)
listvar = ["one","two","three","four","one","two",”one1”]
res = listvar.index("one")
print(res) # 输出0,输出元素索引的位置
# res = listvar.index("one1212") #error 不存在报错
res = listvar.index("one",1) #从所以1的位置开始
#listvar.find("one") 列表里面没有find 那是字符串的函数find
#res = listvar.index("one",4,6) error 不存在 报错
print(res) #输出4
#(2) count
功能:计算某个元素出现的次数
格式:列表.count(值)
返回值:次数
#例:
listvar = ["one","two","three","four","one","two",”one1”]
res = listvar.count("one")
print(res)
#得到结果2,one出现的次数为2
#(3)sort
功能:列表排序(默认小到大排序)
格式:列表.sort(reverse=Ture)
返回值:None
注意:直接更改原列表
#例1:
listvar = [99,-3,26,78]
listvar.sort()
print(listvar)
#让列表从大到小排序 reverse = Ture
listvar.sort(reverse=True)
print(listvar)
#结果:[99, 78, 26, -3]
#例2:
#如果是字母 默认按照ascii码表 从小到大排序
listvar = ["boshi","onier","james","weide","adongni"]
listvar.sort()
print(listvar)
结果:['adongni', 'boshi', 'james', 'onier', 'weide']
#(7)reverse
功能:列表反转操作
格式:列表.reverse()
返回值:None
注意:直接更改原列表
#例:
listvar = [99,-3,26,78]
listvar.reverse()
print(listvar)
#结果:[78, 26, -3, 99]
python 基础之列表的操作和列表的相关函数的更多相关文章
- python基础深入(元组、字符串、列表、字典)
python基础深入(元组.字符串.列表.字典) 一.列表 1.追加 >>>list = [1,2,3,4] #用于在列表末尾添加新的对象,只能单个添加,该方法无返回值,但是会修改原 ...
- python基础之数字、字符串、列表、元组、字典
Python基础二: 1.运算符: 判断某个东西是否在某个东西里面包含: in 为真 not in 为假 (1).算术运算符: 运算符 描述 实例 + 加 表示两个对象相加 a + b输出结果3 ...
- Python基础语法-内置数据结构之列表
列表的一些特点: 列表是最常用的线性数据结构 list是一系列元素的有序组合 list是可变的 列表的操作, 增:append.extend.insert 删:clear.pop.remove 改:r ...
- python基础之协程函数、列表表达式、生成器表达式
一.协程函数 协程函数的定义?如果在一个函数内部yield的使用方式是表达式形式的话,如x=yield,那么该函数称为协程函数 协程函数补充: def init(func): def wrapper( ...
- Python基础笔记系列三:list列表
本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!! python中的list列表是一种序列型数据类型,一有序数据集合用逗号间隔 ...
- 2.python基础深入(元组、字符串、列表、字典)
一,对象与类 对象: python中一切皆为对象,所谓对象:我自己就是一个对象,我玩的电脑就是对象,玩的手机就是对象. 我们通过描述属性(特征)和行为来描述一个对象的. 在python中,一个对象的特 ...
- Python基础灬序列(字符串、列表、元组)
序列 序列是指它的成员都是有序排列,并且可以通过下标偏移量访问到它的一个或几个成员.序列包含字符串.列表.元组. 字符串 chinese_zodiac = '鼠牛虎兔龙蛇马羊猴鸡狗猪' print(c ...
- python 基础学习笔记(3)--列表与元组
**本次笔记主要内容为 列表,元组主要的功能和特性** **1.列表**: 学习过c语言的同学应该知道,c语言有数组这一功能,就是将数据类型相同的元素放在一起.由于python的变量没有数据类型,也就 ...
- python基础(变量,字符串,列表,元组)
#列表的操作list1 = ['wuqiang','lichang','changhao'] #列表的定义print(list1) #操作列表print(list1[-1]) #操作列表的最后一位li ...
随机推荐
- 安装和配置Windows系统虚拟机
1.打开虚拟机软件,点击新建虚拟机. 2.选择典型配置,点击下一步. 3.点击安装程序光盘映像文件,选择对应的映像文件,然后点击下一步.选择对应的密钥和版本,设置密码等. 4.创建虚拟机名字和存储位置 ...
- PostgreSQL日期加减
在PostgreSQL中可以直接对时间进行加减运算:. SELECT now()::timestamp + '1 year'; --当前时间加1年 SELECT now()::timestamp + ...
- linux contab
定义格式: * * * * * commandm(0-59), h(0-23) d(1-31) M(1-12) W(0-7)周W用1-6表示分别对应:每周一….五,六,周日在国外老外周日相当于第一个工 ...
- WebRTC的音频编码(转)
一.一个典型的IP通信模型 二.Server2Server技术分类 Server2Server这块也是一个专门的领域,这里只简单分个类. 1.同一国家相同运营商之间: 同一运营商之间也有丢包,在铁通, ...
- Java日期时间API系列19-----Jdk8中java.time包中的新的日期时间API类,ZonedDateTime与ZoneId和LocalDateTime的关系,ZonedDateTime格式化和时区转换等。
通过Java日期时间API系列6-----Jdk8中java.time包中的新的日期时间API类中时间范围示意图:可以很清晰的看出ZonedDateTime相当于LocalDateTime+ZoneI ...
- Vue-设置默认路由选中
需求分析: 一个导航组件,需要其中一个是选中状态,并且样式呈现高亮,选中的导航对应的页面也需要展示出来. 功能实现: router-link内置有一个选中状态,当处于当前路由时,会给 router-l ...
- list的使用-Hdu 1276
士兵队列训练问题 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Su ...
- ML 是什么意思?
ML到底是什么意思? 1.(ML)machine language机器语言,makeup language.参见:ML语言: 通用的函数式编程语言. 2.(ML)machine learning,人工 ...
- linux开机启动项问题。6版本与7版本不同之处 。
参考 网址:https://blog.csdn.net/weixin_41909810/article/details/82775247
- 【代码审计】PHPCMS2008任意代码执行漏洞
很老的漏洞了,但很经典~ 在 phpcms2008/include/global.func.php eval 可以执行命令 在这里我们看一下是谁调用 跟进string2array函数 yp/web/ ...