列表

序列是 Python 中最基本的数据结构。

序列中的每个值都有对应的位置值,称之为索引,第一个索引是 0,第二个索引是 1,依此类推。

Python 有 6 个序列的内置类型,但最常见的是列表和元组。

列表都可以进行的操作包括索引,切片,加,乘,检查成员。

此外,Python 已经内置确定序列的长度以及确定最大和最小的元素的方法。

列表是最常用的 Python 数据类型,它可以作为一个方括号内的逗号分隔值出现。

列表的数据项不需要具有相同的类型

一.访问列表中的值

与字符串的索引一样,列表索引从 0 开始,第二个索引是 1,依此类推。

通过索引列表可以进行截取、组合等操作。

实例

#!/usr/bin/python3



list = ['red', 'green', 'blue', 'yellow', 'white', 'black']

print( list[0] )

print( list[1] )

print( list[2] )

以上实例输出结果:

red

green

blue

索引也可以从尾部开始,最后一个元素的索引为 -1,往前一位为 -2,以此类推。

实例

#!/usr/bin/python3



list = ['red', 'green', 'blue', 'yellow', 'white', 'black']

print( list[-1] )

print( list[-2] )

print( list[-3] )

以上实例输出结果:

black

white

yellow

使用下标索引来访问列表中的值,同样你也可以使用方括号 [] 的形式截取字符,如下所示:

实例

#!/usr/bin/python3



nums = [10, 20, 30, 40, 50, 60, 70, 80, 90]

print(nums[0:4])

以上实例输出结果:

[10, 20, 30, 40]

使用负数索引值截取:

实例

#!/usr/bin/python3

list = ['Google', 'Runoob', "Zhihu", "Taobao", "Wiki"] # 读取第二位

print ("list[1]: ", list[1]) # 从第二位开始(包含)截取到倒数第二位(不包含)

print ("list[1:-2]:
", list[1:-2])

以上实例输出结果:

list[1]:  Runoob

list[1:-2]:  ['Runoob', 'Zhihu']

二,修改列表

你可以对列表的数据项进行修改或更新,你也可以使用 append() 方法来添加列表项,如下所示:

实例(Python 3.0+)

#!/usr/bin/python3

list = ['Google', 'Runoob', 1997, 2000]

print ("第三个元素为 : ", list[2])

list[2] = 2001

print ("更新后的第三个元素为 : ", list[2])

list1 = ['Google', 'Runoob', 'Taobao']

list1.append('Baidu') print ("更新后的列表 : ", list1)

注意:我们会在接下来的章节讨论 append() 方法的使用。

以上实例输出结果:

第三个元素为 :  1997

更新后的第三个元素为 :  2001

更新后的列表 :  ['Google', 'Runoob', 'Taobao', 'Baidu']

三,删除列表元素

可以使用 del 语句来删除列表的的元素,如下实例:

实例(Python 3.0+)

#!/usr/bin/python3

list = ['Google', 'Runoob', 1997, 2000]

print ("原始列表 : ", list)

del list[2]

print ("删除第三个元素 : ", list)

以上实例输出结果:

原始列表 :  ['Google', 'Runoob', 1997, 2000]

删除第三个元素 :  ['Google', 'Runoob', 2000]

注意:我们会在接下来的章节讨论 remove() 方法的使用

四,Python列表脚本操作符

列表对 + 和 * 的操作符与字符串相似。+ 号用于组合列表,* 号用于重复列表。

如下所示:

Python 表达式

结果

描述

len([1, 2, 3])

3

长度

[1, 2, 3] + [4, 5, 6]

[1, 2, 3, 4, 5, 6]

组合

['Hi!'] * 4

['Hi!', 'Hi!', 'Hi!', 'Hi!']

重复

3 in [1, 2, 3]

True

元素是否存在于列表中

for x in [1, 2, 3]: print(x, end=" ")

1 2 3

迭代


Python列表截取与拼接

Python的列表截取与字符串操作类型,如下所示:

L=['Google', 'Runoob', 'Taobao']

操作:

Python 表达式

结果

描述

L[2]

'Taobao'

读取第三个元素

L[-2]

'Runoob'

从右侧开始读取倒数第二个元素: count from
the right

L[1:]

['Runoob', 'Taobao']

输出从第二个元素开始后的所有元素

>>>L=['Google', 'Runoob', 'Taobao']

>>>
L[2] 'Taobao'
>>> L[-2] 'Runoob'

>>>
L[1:] ['Runoob', 'Taobao']

>>>

列表还支持拼接操作:

>>>squares = [1, 4, 9, 16, 25]

>>>
squares += [36, 49, 64, 81, 100]

>>>
squares [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

>>>


嵌套列表

使用嵌套列表即在列表里创建其它列表,例如:

>>>a = ['a', 'b', 'c']

>>>
n = [1, 2, 3]

>>>
x = [a, n]

>>>
x [['a', 'b', 'c'], [1, 2, 3]]

>>>
x[0] ['a', 'b', 'c']

>>>
x[0][1] 'b'


Python列表函数&方法

Python包含以下函数:

序号

函数

1

len(list)

列表元素个数

2

max(list)

返回列表元素最大值

3

min(list)

返回列表元素最小值

4

list(seq)

将元组转换为列表

Python包含以下方法:

序号

方法

1

list.append(obj)

在列表末尾添加新的对象

2

list.count(obj)

统计某个元素在列表中出现的次数

3

list.extend(seq)

在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)

4

list.index(obj)

从列表中找出某个值第一个匹配项的索引位置

5

list.insert(index, obj)

将对象插入列表

6

list.pop([index=-1])

移除列表中的一个元素(默认最后一个元素),并且返回该元素的值

7

list.remove(obj)

移除列表中某个值的第一个匹配项

8

list.reverse()

反向列表中元素

9

list.sort( key=None, reverse=False)

对原列表进行排序

10

list.clear()

清空列表

11

list.copy()

复制列表

本节例子

#list[]  (列表)

#列表索引

#x=['hello',1,2,3.0,4.0,True,False]

#x[1]  ==> 1 
#x[]  表示索引

#x[-1]
==> False

#x[len(x)-1]  ==> False

#列表切片

#x[1:3]  ==> [1,2]  
#切片范围为左闭右开

#x[:4]
x[4:] ==>  #0可以省略

#列表判断某个元素是否在列表

#'This'
in 'This is a boy'

#'to' in
'This is a boy'

#print([1]
in [1,2,3,4,5])   #[1] 和 1 不同

#print(1
in [1,2,3,4,5])

#列表和字符串的可变性

#x='hello'

#print(x[1])

#

#list=[1,2,3,4,5]

#list[1]

#

#list[0]=5  ==> [5,2,3,4,5]   #列表可以该内容,但字符串不能改

#ry='roy'

#ry[1]='w'   
#这样子是不行的

#应该是ry='rwy'

#实用列表函数

#x=[1,2,3,4,5,6,7,8]

#len(x)  ==> 8

#max(x)  ==> 最大值

#min(x)  ==> 最小值

#sorted(x)  ==> 从小到大排序

#sorted(x,reverse=True)   ==>从大到小排序

#x可以是数
也可以是字符串 字符串要定义 不能就[a,a,b,c,d] 要['a','a','b','c','d']

#l列表方法join

#a=['A','B','C','D']

#b='\n'.join(a)  # 表示竖列表示 # \n 表示换行

#print(b)

# join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串。

#列表方法append

#name=['x','y','z','q']

#name.append('w')   #只能一个一个加不能。append('w','e')
在列表最后一个后面加

#集合和列表去重

#x=['1','2','3','3','4','3']

#x=[1,2,3,4,5]

#y=set(x)

#print(y)


不免有遗漏地点和自身不足的地方,还需努力


python中一些列表知识的更多相关文章

  1. julia与python中的列表解析.jl

    julia与python中的列表解析.jl #=julia与python中的列表解析.jl 2016年3月16日 07:30:47 codegay julia是一门很年轻的科学计算语言 julia文档 ...

  2. python中的列表及numpy数组排序

    一.列表排序  # python中对列表排序有sort.sorted两种方法,其中sort是列表内置方法,其帮助文档如下:In [1]: help(sorted) Help on built-in f ...

  3. Python中的列表解析和生成器表达式

    Python中的列表解析和生成器表达式 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.列表解析案例 #!/usr/bin/env python #_*_coding:utf-8 ...

  4. Python中的列表生成式和多层表达式

    Python中的列表生成式和多层表达式 如何生成[1x1, 2x2, 3x3, ..., 10x10]的列表? L=[]; ,): L.append(x*x) print L print (" ...

  5. Python中的列表,元组,字符串之间的相互转化

    Python中的列表元组和字符串之间的相互转化需要利用,tuple(),list(),str(). 示例如下: >>> the_string = "hello I'am x ...

  6. Python中对列表排序实例

    Python中对列表排序实例 发布时间:2015-01-04 09:01:50 投稿:junjie 这篇文章主要介绍了Python中对列表排序实例,本文给出了9个List的排序实例,需要的朋友可以参考 ...

  7. 逗号分隔的字符串转换为Python中的列表 split

    将逗号分隔的字符串转换为Python中的列表   给定一个字符串: 它是由逗号分隔的几个值的序列: mStr = '192.168.1.1,192.168.1.2,192.168.1.3' 如何将字符 ...

  8. 面向对象相关概念与在python中的面向对象知识(魔法方法+反射+元类+鸭子类型)

    面向对象知识 封装 封装的原理是,其成员变量代表对象的属性,方法代表这个对象的动作真正的封装是,经过深入的思考,做出良好的抽象(设计属性时用到),给出“完整且最小”的接口,并使得内部细节可以对外透明( ...

  9. 12.python中的列表

    先看列表是如何创建的: a = ['scolia', 123] b = list('scolia',123) 同样有两种创建方式,但一般用第一种. 列表和元祖最大的不同就是列表是可以修改的. 老规矩, ...

随机推荐

  1. 数据库连接Database link?

    在一个用户下,可以获取到另外的用户下的表的数据,通常在跨数据库时使用. create database link link93 connect to scott identified by tiger ...

  2. nginx简介&nginx基本配置和优化

    一.nginx简介 1.nginx的发展 Nginx是俄罗斯人编写的一款高性能HTTP和反向代理服务器.Nginx能够选择高效的epoll(Linux2.6内核).kqueue(FreeBSD).ev ...

  3. Java Concurrency API 中的 Lock 接口(Lock interface) 是什么?对比同步它有什么优势?

    Lock 接口比同步方法和同步块提供了更具扩展性的锁操作. 他们允许更灵活的结构,可以具有完全不同的性质,并且可以支持多个相关类的 条件对象. 它的优势有: 可以使锁更公平 可以使线程在等待锁的时候响 ...

  4. 为什么线程通信的方法 wait(), notify()和 notifyAll()被定 义在 Object 类里?

    Java 的每个对象中都有一个锁(monitor,也可以成为监视器) 并且 wait(),notify() 等方法用于等待对象的锁或者通知其他线程对象的监视器可用.在 Java 的线程中 并没有可供任 ...

  5. OOP 中的 组合、聚合和关联有什么区别?

    如果两个对象彼此有关系,就说他们是彼此相关联的.组合和聚合是面向对象中 的两种形式的关联.组合是一种比聚合更强力的关联.组合中,一个对象是另一 个的拥有者,而聚合则是指一个对象使用另一个对象.如果对象 ...

  6. Linux内核, 编译一个自己的内核

      本文,我们将一步一步地介绍如何从源代码编译和安装一个Linux内核.需要注意的是本指导基于Ubuntu 20.04版本编译安装,其它发行版可能会有差异. 在前面文章中我们反复提到过Linux内核, ...

  7. i2c总线编码

    i2c总线编码 发送启动信号S 在同步时钟线SCL 为高电平时,数据线出现的由高到低的下降沿. 启动信号子程序STA 1 /************************************** ...

  8. C++ | 程序编译连接原理

    文章目录 预编译(生成*.i文件) 编译(生成*.s文件) 汇编(生成*.o文件,也叫目标文件) 链接(生成*.exe文件,也叫可执行文件) 汇编--目标文件 查看文件头 查看符号表 查看 .o 文件 ...

  9. 2. 使用Github

    2. 使用Github 2.1 目的 借助github托管项目代码 2.2 基本概念 仓库(Repository) 仓库用来存放项目代码,每个项目对应一个仓库,多个开源项目则有多个仓库 收藏(Star ...

  10. simulink仿真过程

    Simulink求解器 Simulink仿真过程 Simulink 模型的执行分几个阶段进行.首先进行的是初始化阶段,在此阶段,Simulink 将库块合并到模型中来,确定传送宽度.数据类型和采样时间 ...