一.列表的相关操作

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 基础之列表的操作和列表的相关函数的更多相关文章

  1. python基础深入(元组、字符串、列表、字典)

    python基础深入(元组.字符串.列表.字典) 一.列表 1.追加 >>>list = [1,2,3,4] #用于在列表末尾添加新的对象,只能单个添加,该方法无返回值,但是会修改原 ...

  2. python基础之数字、字符串、列表、元组、字典

    Python基础二: 1.运算符: 判断某个东西是否在某个东西里面包含: in  为真 not in  为假 (1).算术运算符: 运算符 描述 实例 + 加  表示两个对象相加 a + b输出结果3 ...

  3. Python基础语法-内置数据结构之列表

    列表的一些特点: 列表是最常用的线性数据结构 list是一系列元素的有序组合 list是可变的 列表的操作, 增:append.extend.insert 删:clear.pop.remove 改:r ...

  4. python基础之协程函数、列表表达式、生成器表达式

    一.协程函数 协程函数的定义?如果在一个函数内部yield的使用方式是表达式形式的话,如x=yield,那么该函数称为协程函数 协程函数补充: def init(func): def wrapper( ...

  5. Python基础笔记系列三:list列表

    本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!! python中的list列表是一种序列型数据类型,一有序数据集合用逗号间隔 ...

  6. 2.python基础深入(元组、字符串、列表、字典)

    一,对象与类 对象: python中一切皆为对象,所谓对象:我自己就是一个对象,我玩的电脑就是对象,玩的手机就是对象. 我们通过描述属性(特征)和行为来描述一个对象的. 在python中,一个对象的特 ...

  7. Python基础灬序列(字符串、列表、元组)

    序列 序列是指它的成员都是有序排列,并且可以通过下标偏移量访问到它的一个或几个成员.序列包含字符串.列表.元组. 字符串 chinese_zodiac = '鼠牛虎兔龙蛇马羊猴鸡狗猪' print(c ...

  8. python 基础学习笔记(3)--列表与元组

    **本次笔记主要内容为 列表,元组主要的功能和特性** **1.列表**: 学习过c语言的同学应该知道,c语言有数组这一功能,就是将数据类型相同的元素放在一起.由于python的变量没有数据类型,也就 ...

  9. python基础(变量,字符串,列表,元组)

    #列表的操作list1 = ['wuqiang','lichang','changhao'] #列表的定义print(list1) #操作列表print(list1[-1]) #操作列表的最后一位li ...

随机推荐

  1. linux下windows访问samba服务器

    今天学习windows如何访问linux的共享文件. 开通samba服务,首先需要在linux下安装samba程序包,又再次使用光盘镜像挂载: [root@localhost home]# mount ...

  2. Java进阶学习(1)之类与对象(上)

    package com.study; //自动售卖机 public class vmachine { private int price = 80; private int balance; priv ...

  3. python小白的爬虫之旅

    1.爬www.haha56.net/main/youmo网站的内容 ieimport requests import re response=requests.get("http://www ...

  4. MYSQL客户端管理工具

      双击安装navicact客户端管理工具: 双击启动脚本,并指定管理工具的navicat.exe文件 最后打开

  5. SpringCloud全家桶学习之路由网关----Zuul(六)

    一.Zuul概述 (1)Zuul是什么? Zuul包含了对请求的路由和过滤的两个最主要的功能,其中路由功能负责将外部请求转发到具体的微服务实例上,是实现外部访问统一入口的基础:而过滤功能则负责对请求的 ...

  6. 使用MQTTBox连接阿里云平台

    这篇只做一个简单的介绍,和上一篇没有根本的区别.只是就两个客户端的差异介绍一下. 一.需要参考的内容: 使用MQTT.fx连接阿里云平台: https://www.cnblogs.com/mhtc/p ...

  7. C语言:将ss所指字符串中所有下标为奇数位置的字母转换为大写-将该字符串中的所有字符按ASCII码值升序排序后输出。-将a所指的4*3矩阵第k行的元素与第0行元素交换。

    //函数fun:将ss所指字符串中所有下标为奇数位置的字母转换为大写,若不是字母,则不转换. #include<conio.h> #include<stdio.h> #incl ...

  8. PB调用.NET类库详解

    要维护一个老的PB系统,有些地方用PB实在不方便,好在就张三.李四几个人用,每人装个.net框架. 设置.NET类COM可见 方式一:将整个程序集设成COM可见 方式二,只公开部分类 使用.Net框架 ...

  9. Plastic Bottle Manufacturer - Different Cosmetic Plastic Bottle Materials, Different Characteristics

    Plastic bottles are usually made of PP, PE, K, AS, abs, acrylic, PET, and the like. Dust caps for th ...

  10. Spring Boot Shiro 使用教程

    Apache Shiro 已经大名鼎鼎,搞 Java 的没有不知道的,这类似于 .Net 中的身份验证 form 认证.跟 .net core 中的认证授权策略基本是一样的.当然都不知道也没有关系,因 ...