一.列表的相关操作

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. IE6下的png不透明问题

    前几天刚做完一个小需求,但是在兼容ie方面用了比较久的时间,主要是切面那边用的背景图都是png格式的,而经过查找知道,ie6对png图片透明部分渲染效果是不透明的,我看到的是淡淡的绿色,简单的处理方式 ...

  2. flask 前端 分页 显示

    # flask 前端 分页 显示 1.分页原理 web查询大量数据并显示时有有三种方式: 从数据库中查询全部,在view/客户端筛选/分页:不能应对记录大多的情况,一般不使用: 分页查询,每次在数据库 ...

  3. python日常题目小练习

    1.使用while循环输出1 2 3 4 5 6 8 9 10 i=0 while i<10: i+=1 if i==7: continue print(i) 结果: 2.求1-100的所有数的 ...

  4. hybird怎么实现的(核心webview)

    链接:https://blog.csdn.net/gongch0604/article/details/80510005

  5. 吴裕雄 PYTHON 神经网络——TENSORFLOW 单隐藏层自编码器设计处理MNIST手写数字数据集并使用TensorBord描绘神经网络数据

    import os import numpy as np import tensorflow as tf import matplotlib.pyplot as plt from tensorflow ...

  6. Git主库私库相关操作操作

    命令1: git remote add 库名称 库地址 说明:写好的代码提交到两个git远端,git remote add是将另一个库地址设置进来 命令2: git fetch 库名称 分支名称 说明 ...

  7. Linux内核5.6亮点

    导读 当我们还在体验 Linux 5.5 稳定发行版带来更好的硬件支持时,Linux 5.6 已经来了.我将在本文中重点介绍 Linux 5.6 发布版中值得期待的关键更改和功能. 说实话,Linux ...

  8. Idea rest client 使用(全) 真香

    看了网上好多的 idea rest client 讲解,大多都只是讲了它如何如何好,都只是简单的测了一个 json 的接口而已,个人实践了一把,里面还是有挺多坑的,但不得不说,那个脚本化处理请求的功能 ...

  9. 排序算法之选择排序的python实现

    选择排序算法的工作原理如下: 1. 首先在序列中找到最小或最大元素,存放到排序序列的前或后. 2. 然后,再从剩余元素中继续寻找最小或最大元素. 3. 然后放到已排序序列的末尾. 4. 以此类推,直到 ...

  10. 【笔记5-购物车及地址模块】从0开始 独立完成企业级Java电商网站开发(服务端)

    购物车模块 数据库表设计 购物车表 CREATE TABLE mmall_ cart ( 'id' int(11) NOT NULL AUTO_ INCREMENT, 'user_ id' int(1 ...