序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。

索引如下图:

列表命名(list):
组成:使用[]括起来,并且把值赋给变量
例:a = ["sunwk","zhubj","shas","tangs"]
列表中的每个元素可以是任何数据类型,如:整型、字符创、列表、元祖、字典等
例:a = [1,[1,2],("ll","ff"),"sunwk"]

例:list1 = list(range(5))

容器类型
任意对象的有序集合,通过索引访问其中改的元素,可变对象。
异构,任意嵌套。

支持在原处修改:
修改制定的索引元素,修改制定的分片,删除语句,内置方法

一 列表方法

二 列表访问(查)

实例(Python3.0+):

list1 = ["sunwk","zhubj","shas","tangs"]
# 定义列表list1 print(list1[:])
# 从左到右:打印输出列表所有内容 ['sunwk', 'zhubj', 'shas', 'tangs'] print(list1[1:])
# 从左到右:索引1打印到最后 ['zhubj', 'shas', 'tangs'] print(list1[1:-1:1])
# 从左到右:索引1到-1,一个一个取 最后的1是步长 ['zhubj', 'shas'] print(list1[1::2])
# 从左到右:索引1到最后隔一个去取 ['zhubj', 'tangs'] print(list1[-2::-2])
# 从右到左隔一个去取 ['shas', 'sunwk'] print(list1[2::-2])
# 从右到左隔一个去取 ['shas', 'sunwk'] print(list1[-2:])
# 从左到右:索引-2到最后取全部,步长决定取值方向 print(list1[-2:-4])
# 取值失败,-2到-4方向是从右往左,默认步长是1,方向从左到右,两边方向矛盾,导致取值失败  

三 列表更新(增加)

方法:list.append()  list.insert()

实例1(Python3.0+):list.append()

list1 =  ["sunwk","zhubj","shas","tangs"]
# 定义列表 list1.append("lvcm")
print(list1)
# 只能把值插入到列表最后,且只能插入一个 

实例2(Python3.0+):list.insert()

list1 =  ["sunwk","zhubj","shas","tangs"]
# 定义列表list1 list1.insert(1,"maoj")
print(list1)
# ['sunwk', 'maoj', 'zhubj', 'shas', 'tangs']
# 将数据从插入到任意一个位置,1位索引 list1.insert(-2,"lihc")
print(list1)
# ['sunwk', 'maoj', 'zhubj', 'lihc', 'shas', 'tangs'] """
总结:
添加使用insert时,索引为正数时,添加到索引位置左边,索引为负数时,添加到索引左边
可以把修改列表当做增加使用,在添加多个元素时使用
""" 

四 列表更新(修改)

实例(Python3.0+):

list1 = ['sunwk', 'zhubj', 'shas', 'tangs']
# 定义列表list1 list1[1]= "wangyw"
# 先取出值,list1[1]取出索引为1的值,然后把“wangyw”赋给list1[1]
print(list1)
# ['sunwk', 'wangyw', 'shas', 'tangs'] print(list1[1:3])
# ['wangyw', 'shas']
list1[1:3] = ["a","b"]
print(list1)
# ['sunwk', 'a', 'b', 'tangs'] """
修改也可以当做增加使用
"""

五 列表删除

方法:list.remove()  list.pop()  del

总结:

  1. 只有del可以切片删除,pop 和 remove 不能
  2. 只有pop有返回值,del和remove没有返回值
  3. 列表删除,只有del可以切片删除,pop 和 remove 不能

实例1(Python3.0+):list.remove()

list1 = ['sunwk', 'zhubj', 'shas', 'tangs']
# 定义列表list1 list1.remove("sunwk")
print(list1)
# ['zhubj', 'shas', 'tangs'] list1.remove(list1[0])
print(list1)
# ['shas', 'tangs']

实例2(Python3.0+):list.pop()

list1 = ['sunwk', 'zhubj', 'shas', 'tangs']
# 定义list1 list1.pop(1)
print(list1)
# ['sunwk', 'shas', 'tangs'] list2 = list1.pop(1)
print(list2)
# shas pop可以把删除的值赋给变量 list3 = f.pop()
# 默认删除最后(索引为-1的值)的值,并把删除的值赋给变量list3

实例3(Python3.0+):del

list1 = ["0","1","2","3","4","5"]

del list1[0]
print(list1)
# ['1', '2', '3', '4', '5'] """
del 可以切片删除
del list1
# 删除整个对象
print(list1)
NameError: name 'h' is not defined
"""   

六 列表拼接

实例1(Python3.0+):

list1 = [1,2,3,4]
list2 = ['abc','lvcm','wangyw']
print(list1 + list2)
# 输出结果:[1, 2, 3, 4, 'abc', 'lvcm', 'wangyw']
# list1 + list2 合并两个列表变成一个新列表,原有列表不变。

实例2(Python3.0+):

list1 = [1,2,3,4]
print(list1 * 2)
# 输出结果:[1, 2, 3, 4, 1, 2, 3, 4]
# list1 * N:把列表重复N次,返回一个新列表,原有列表不变。

七 列表复制

实例1(Python3.0):

list1 = [1,2,3,4]
list2 = list1
# 当改变list1中的某个元素的值后,list2会不会改变呢 list1.append(5)
print(list1,list2)
# 输出结果:[1, 2, 3, 4, 5] [1, 2, 3, 4, 5] 从结果上看,当list1改变时,list2会随之改变。
# 分析:当list2 = list1 时,其实是把list2的引用对象指向了list1,也就是说id(list2) = id(list1),当改变list1中某个元素,id(list1)并未改变,因为列表是支持原处修改的可变类型。

实例2(Python3.0):浅复制

list1 = [1,2,3,4]
list2 = list1[:] list1.append(4)
print(list1,list2)
# [1, 2, 3, 4, 5] [1, 2, 3, 4],结果表明,list1改变时,list2不变。
# 分析:此赋值方法,只是把list1中的元素取出来赋值给了list2,id(list1) != id(list2)

实例3(Python3.0):导入模块复制(copy模块)

import copy
# 导入copy模块 list1 = [1,2,3,4]
list2 = copy.deepcopy(list1) print(id(list1),id(list2))
# 12109448 12110280

实例4(Python3.0):list.copy()

list1 = ['Google', 'Runoob', 'Taobao', 'Baidu']
# 定义列表list1 list2 = list1.copy()
list1.append('Souhu')
print("list1 列表:", list1)
# list1 列表: ['Google', 'Runoob', 'Taobao', 'Baidu', 'Souhu']
print ("list2 列表: ", list2)
print(id(list1),id(list2))
# list2 列表: ['Google', 'Runoob', 'Taobao', 'Baidu']
# list1 改变时,list2不会随之改变

八 其它方法

list.count()

计算列表中元素出现次数

实例(Python3.0+):

list1 = ["muyb","wangyw","duh","wangyw"]
# 定义列表list1 num = list1.count("wangyw")
print(num)
# 2

list.extend()

把一个列表中的元素插入到另外一个列表中

实例(Python3.0+):

list1 = [1,2,3]
list2 = [4,5,6] list1.extend(list2)
# 把列表list2中的元素插入到列表list1中
print(list1)
# [1, 2, 3, 4, 5, 6]
print(list2)
# [4, 5, 6]

list.index()

查看元素的索引值

实例(Python3.0+):

list1 = ["sunwk","zhubj","tangs","shas"]
# 定义列表list1 print(list1.index("zhubj"))
# zhubj的索引为1 p = list1.index("zhubj")
# 把zhubj的索引赋值给p
q = list1.index('shas')
# 把shas的索引值赋给q
print(list1[p:q])
# 打印索引 1 到 3 的元素 ['zhubj', 'tangs']
print(list1[p:])
# 打印索引1 到 最有的所有元素 ['zhubj', 'tangs', 'shas']

list.reverse()

反向列表中元素

实例(Python3.0+):

list1 = ['Google', 'Runoob', 'Taobao', 'Baidu']
# 定义列表list1 list1.reverse()
print ("列表反转后: ", list1)
# 列表反转后: ['Baidu', 'Taobao', 'Runoob', 'Google']

list.clear() 

清空列表

实例(Python3.0+):

list1 = ['Google', 'Runoob', 'Taobao', 'Baidu']
# 定义列表list1 list1.clear()
print ("列表清空后 : ", list1)
# 列表清空后 : []  

九 列表函数

len()

统计列表元素个数

实例(Python3.0+):

list1 = [1,2,3,4,5]
# 定义列表list1 print(len(list1))
# 5

Python3 数据类型-列表的更多相关文章

  1. Python基础数据类型-列表(list)和元组(tuple)和集合(set)

    Python基础数据类型-列表(list)和元组(tuple)和集合(set) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客使用的是Python3.6版本,以及以后分享的 ...

  2. 整理了最全的Python3数据类型转换方法,可以收藏当手册用

    本文基于python3.8版本,总结了各种数据类型直接的转换规则和方法.算是比较全了,可以收藏当手册来查. 概述 数据类型转换,指的是通过某种方法,将一个数据由原来的类型转换为另外一个类型.比如,我们 ...

  3. Delphi 数据类型列表 good

    Delphi 数据类型列表 分类 范围 字节 备注 简单类型 序数 整数 Integer -2147483648 .. 2147483647 4 有符号32位 Cardinal 0 .. 429496 ...

  4. Delphi 基本数据类型列表 高级数据类型列表 字符类型查询列表清单

    原文:Delphi 基本数据类型列表 高级数据类型列表 字符类型查询列表清单 长长的列表文字类型文件 分类 范围 字节 备注 简单类型 序数 整数 Integer -2147483648 .. 214 ...

  5. python学习第八讲,python中的数据类型,列表,元祖,字典,之字典使用与介绍

    目录 python学习第八讲,python中的数据类型,列表,元祖,字典,之字典使用与介绍.md 一丶字典 1.字典的定义 2.字典的使用. 3.字典的常用方法. python学习第八讲,python ...

  6. python学习第七讲,python中的数据类型,列表,元祖,字典,之元祖使用与介绍

    目录 python学习第七讲,python中的数据类型,列表,元祖,字典,之元祖使用与介绍 一丶元祖 1.元祖简介 2.元祖变量的定义 3.元祖变量的常用操作. 4.元祖的遍历 5.元祖的应用场景 p ...

  7. python学习第六讲,python中的数据类型,列表,元祖,字典,之列表使用与介绍

    目录 python学习第六讲,python中的数据类型,列表,元祖,字典,之列表使用与介绍. 二丶列表,其它语言称为数组 1.列表的定义,以及语法 2.列表的使用,以及常用方法. 3.列表的常用操作 ...

  8. Python基本数据类型--列表、元组、字典、集合

    一.Python基本数据类型--列表(List) 1.定义:[ ]内以逗号分隔,按照索引,存放各种数据类型,每个位置代表一个元素. 2.列表的创建: # 方式一 list1 = ['name','ag ...

  9. Python2和Python3中列表推导式的不同

    Python2和Python3中列表推导式的不同 python2 >>> x = 'my girl' >>> lst = [x for x in 'hello'] ...

随机推荐

  1. 关于如何去Apple.cn下载Xcode以及模拟器包

    前言:对于一个懒惰的iOS开发,Xcode的更新我是迟迟没有去下载.有人或许会说:你并不是一个合格的iOS开发者! T3T 我承认自己缺少拓新精神,Apple的尿性是:坑死第一批体验者不偿命~表示本人 ...

  2. vue-知乎日志

    1.项目API来源 2.项目地址 3.截图                                                       4.功能 首页 轮播图 动态消息 下拉刷新 动态 ...

  3. 高性能MySQL--innodb中事务的隔离级别与锁的关系

    最近买了<高性能MySQL>这本书回来看,从中收益颇多!我来一吐为快! 我们都知道事务,那么在什么情况下我们需要使用事务呢? 银行应用是解释事务的一个经典例子.假设一个银行的数据库有两张表 ...

  4. hive新手学习随笔

    一.回顾    1.hive基于Hadoop的(存储HDFS,计算MR)    2.sql on hadoop概念            ->简化开发的操作            ->提升 ...

  5. 组播___IGMP

    一.基本概念: 1.协议概述: 是运行在主机和与主机直连的路由器之间,其实现的功能是双向的:一方面,主机通过IGMP通知路由器希望接收某个特定组播组的信息:另一方面,路由器通过IGMP周期性地查询局域 ...

  6. Lambda表达式的语法与如何使用Lambda表达式

    Lambda表达式是对象,是一个函数式接口的实例 如何来写Lambda表达式? 看参数 看返回值 代码实例1: package day2; import jdk.nashorn.internal.co ...

  7. python类的封装

    Python之类的封装 1. 什么是封装 装:往容器/名称空间里存入名字 封:代表将存放于名称空间中的名字给藏起来,这种隐藏对外不对内(怎么做到的,在下文解释) 2. 为何要封装 封数据属性:不想要给 ...

  8. 变分自编码器(Variational auto-encoder,VAE)

    参考: https://www.cnblogs.com/huangshiyu13/p/6209016.html https://zhuanlan.zhihu.com/p/25401928 https: ...

  9. Go语言入门(一)特性、安装、环境搭建、第一个程序等

    Go语言是谷歌推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性.谷歌首席软件工程师罗布派克(Rob Pike)说:我们之所以开发Go,是因为过去10多年间软件开发的难度令人沮 ...

  10. 动态代理以及对应Spring中AOP源码分析

    AOP(面向切面编程)在Spring中是被广泛应用的(例如日志,事务,权限等),而它的基本原理便是动态代理. 我们知道动态代理有两种:基于JDK的动态代理以及基于CGlib动态代理.以下是两种动态代理 ...