关于Python内置对象类型“列表”的综述

关于Python内置对象类型“列表”的综述


By:ZW

本章节我们重点学习一种关于Python内置对象类型——列表(list)。列表在Python中具有非常强大的功能!

1.列表的基本知识和应用特点


定义:在Python中,常用方括号表示一个列表——[].

1.1 列表所装对象的类型

在方括号内,可以是数字(包括浮点数和整数),也可以是字符串,还可以是True/False这样的布尔值,或者其他类型的对象,甚至是多种不同类型的对象。

我们可以先定义一个空列表:

>>> a=[]    #定义空列表
>>> type(a)    #使用type()查看变量a所指向对象的类型
<class 'list'>
>>> bool(a)    #判断对象是“真”还是“假”
False
>>> print(a)    #利用print()函数输出
[]

再来看一个非空列表:

>>> a=['2',3,'qiwsir.github.io']
>>> a
['2', 3, 'qiwsir.github.io']
>>> type(a)
<class 'list'>
>>> bool(a)
True
>>> print(a)
['2', 3, 'qiwsir.github.io']

可以看到列表所装对象是不确定的,应了那句“列表是个筐,什么都能装”。

1.2 索引和切片

>>> ur1="qiwsir.github.io"
>>> ur1[2]    #查询ur1列表第3位元素,python的第一位元素索引为0
‘w’
>>> ur1[:4]    #查询ur1列表前四个元素
'qiws'
>>> ur1[3:9]    #查询url列表第4位到第9位元素
'sir.gi'
>>> a=['2',3,'qiwsir.github,io']
>>> a[1:]     #查询a列表从第2位元素开始之后的所有元素
[3, 'qiwsir.github,io']
>>> a[1:2]
[3]
>>> a[2][7:13]#对a列表元素进行二次切片
'github'
#输出的结果意思是先输出a列表的第三位元素'qiwsir.github,io',然后把该元素作为列表,输出第8位到14位的元素。

列表中的索引和切片,与字符串是一样的。

>>> lang="python"
>>> lang.index("y")
1
>>> lst=['python','java','c++']#从右边开始编号,-1就是右边第一个
>>> lst[-1]
'c++'
>>> lang[-1:-3]
''
>>> lang[-3:-1]
'ho'

1.3 反转

>>> alst=[1,2,3,4,5,6]
>>> alst[::-1]
[6, 5, 4, 3, 2, 1]
>>> alst[::1]#c此处表示步长为1,从左开始每个一个字符选取一个字符
[1, 2, 3, 4, 5, 6]
>>> alst[::2]#此处表示步长为从左开始每隔2选取一个字符
[1, 3, 5]
#这里也可以用reversed()反转
>>> list(reversed(alst))
[6, 5, 4, 3, 2, 1]

1.4 操作

1)len()

>>> lst=['python','java','c++']#求取列表的长度
>>> len(lst)
3

2)"+"连接两个序列

>>> lst=['python','java','c++']#+号是直接将两个元素之间连接起来,不是对应元素相加
>>> alst=[1,2,3,4,5,6]
>>> lst+alst
['python', 'java', 'c++', 1, 2, 3, 4, 5, 6]

3)“*”重复序列元素

>>> lst*3#*也同样是将对应的字符串连接起来
['python', 'java', 'c++', 'python', 'java', 'c++', 'python', 'java', 'c++']

4)in

>>> "python" in lst
True
>>> "c#" in lst
False

5)max/min

>>> max(alst)
6
>>> min(alst)
1
>>> max(lst)
'python'
>>> min(lst)
'c++'

1.5 修改列表元素

>>> cities=["nanjing","zhenjiang"]#直接赋值,将镇江改为苏州
>>> cities[1]="suzhou"
>>> cities
['nanjing', 'suzhou']
>>> cities.append("shanghai")#append函数可以追加元素
>>> cities
['nanjing', 'suzhou', 'shanghai']

1.6 列表函数

1)append/extend

>>> la=[1,2,3]
>>> lb=['qiwsir','python']#extend可以将两个表合并
>>> la.extend(lb)
>>> la
[1, 2, 3, 'qiwsir', 'python']
#append在上文已经阐释,此处不做解释

2)count

>>> la=[1,2,1,1,3]
>>> la.count(1)
3

3)index

>>> la=[1,2,3,'a','b','c','qiwsir','python']
>>> la.index(3)#检测3在该数组中第一次出现的位置
2

4)inset

>>> all_users=['qiwsir','github','io']
>>> all_users.insert(0,"python")
>>> all_users
['python', 'qiwsir', 'github', 'io']

5)remove/pop

>>> all_users=['python','http://','github','io','algorithm']
>>> all_users.remove("http://")#remove表示从该列表中移除
>>> all_users
['python', 'github', 'io', 'algorithm']
>>> all_users.pop(1)#指定删除编号为1的元素
'github'

6)reverse

a=[3,5,1,6]
a.reverse()
a

7)sort

>>> a=[6,1,5,3]
>>> a.sort()
>>> a
[1, 3, 5, 6]

2.列表和元组的异同

1)列表list与数组array的定义:

a)列表是由一系列按特定顺序排列的元素组成,可以将任何东西加入列表中,其中的元素之间没有任何关系;

b)Python中的列表(list)用于顺序存储结构。它可以方便、高效的的添加删除元素,并且列表中的元素可以是多种类型。

c)数组也就是一个同一类型的数据的有限集合。

2)列表list与数组array的相同点:

都可以根据索引来取其中的元素

3)列表list与数组array的不同点:

a)列表list中的元素的数据类型可以不一样。数组array里的元素的数据类型必须一样;

b)列表list不可以进行数学四则运算,数组array可以进行数学四则运算;

c)相对于array,列表会使用更多的存储空间。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值