加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python基础--列表

发布时间:2020-12-20 10:26:39 所属栏目:Python 来源:网络整理
导读:列表: 列表的顺序是固定的,可以用下标来访问(列表/元祖/字符串都可以用下标访问)? 定义: a=[] # 申明一个列表,用[] list1=[1,2,3,4,5 ] list2=[ ‘ a ‘ , ‘ b ‘ , ‘ c ‘ , ‘ d ‘ ] # 访问列表的值,用下标index,index值从0开始 list1[2 ] 3 li

列表:

列表的顺序是固定的,可以用下标来访问(列表/元祖/字符串都可以用下标访问)?

定义: a=[]

#申明一个列表,用[]
>>> list1=[1,2,3,4,5]
>>> list2=[a,b,c,d]


#访问列表的值,用下标index,index值从0开始
>>> list1[2]
3
>>> list2[0]
a


列表的增删改查
#
append:在列表的末尾添加元素
insert:在指定的位置添加元素
extend:将可迭代对象指定的元素展开放到原列表中
>>> list1.append(100) #在末尾添加元素 >>> list1 [1,5,100] >>> list1.insert(0,2.5) #在指定位置添加元素 >>> list1 [2.5,1,100] >>> list1.extend(list2) >>> list1 [2.5,100,a,d]
#改 >>> list1[1]=python‘ #重新按下标赋值 >>> list1 [2.5,python,d] >>>
#查 >>> list1[3:8] #切片查 [3,a] >>> list1[-1] #坐标查 d >>> for i in list1: #按内容遍历查 ... print(i,end="") ... 2.5python2345100abcd >>> >>> for i in range(len(list1)): #按坐标遍历查 ... print(list1[i],end="") ... 2.5python2345100abcd>>> #删 pop remove del >>> list1.pop(-1) #弹出删,pop(index),参数为下标;不填参数时:删除坐标最后位置的元素,并返回元素,返回值可以存到一个变量里 d >>> list1 [2.5,c] >>> list1.pop(0) 2.5 >>> list1 [python,c] >>> list1.remove(100) #remove按值删,参数是列表里的值,删除的元素必须存在否则报错 >>> list1 [python,c]

>>> del list1[0]? #按坐标删
>>> list1
[2,‘a‘,‘b‘,‘c‘]
>>> del list1? #不填参数时,删除整个列表
>>> list1
Traceback (most recent call last):
File "<stdin>",line 1,in <module>
NameError: name ‘list1‘ is not defined
>>>

?

目前我们有三种方法来倒序遍历一个List:
1 . for x in reversed(array):
? ? ? ? ? ?print x
2. for x in range(len(array)-1,-1,-1):
? ? ? ? ? ?print array[x]
3. for x in array[::-1]:
? ? ? ? ? ?print x?

?

?

Python列表脚本操作符

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

如下所示:

Python 表达式 结果 描述
len([1,3]) 3 长度
[1,3] + [4,6] [1,6] 组合
[‘Hi!‘] * 4 [‘Hi!‘,‘Hi!‘,‘Hi!‘] 重复
3 in [1,3] True 元素是否存在于列表中
for x in [1,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,9,16,25] 
>>> squares += [36,49,64,81,100] 
>>> squares [1,25,36,100] 
>>>

?

?

嵌套列表

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

>>>a = [a,c] 
>>> n = [1,3] 
>>> x = [a,n] 
>>> x [[a,c],[1,3]] 
>>> x[0] [a,c] 
>>> x[0][1] b

?

?

Python列表函数&方法

Python包含以下函数:

序号 函数
1 len(list)
列表元素个数
2 max(list)
返回列表元素最大值
3 min(list)
返回列表元素最小值
4 list(seq)
将元组转换为列表

?

>>> a=[1,3]
>>> len(a)
8
>>> b =[2,6,8]
>>> a+b
[1,8]
>>> b*3
[2,8,8]
>>> max(b)
8
>>> min(b)
2
>>>

?

?

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()
复制列表

?

?

count:统计某个元素在列表里出现的次数

index:查看某个元素在列表中第一次出现的位置

>>> a=[1,3]
>>> a.count(2)
2
>>> a.count(3)
4
>>> a.index(2)
1
>>> a.index(3)
4
>>>

?

?

?

多种方式复制列表:

a[:],list(a),a*1,copy.copy(a)四种方式复制列表结果都可以得到一个新的列表

1.a[:]
>>> a=[1,7,9]
>>> b =a[:]
>>> b
[1,9]
2.list(a)
>>> c =list(a)
>>> c
[1,9]
3.a*3
>>> d =a *3
>>> d
[1,9]
4.copy.copy(a)
>>> e =copy.copy(a)
>>> e
[1,9]

>>> id(a)
66235528
>>> id(e)
67983880

?

?栗子:

>>> a=[[10],20]
>>> b=a[:]
>>> c=list(a)
>>> d =a * 1
>>> e =copy.copy(a)
>>> f = copy.deepcopy(a)
>>> a.append(21)
>>> a[0].append(11)
>>> print(id(a),a)
67985352 [[10,11],20,21]
>>> print(id(b),b)?
67985032 [[10,20]
>>> print(id(c),c)
68019848 [[10,20]
>>> print(id(d),d)
66282888 [[10,20]
>>> print(id(e),e)
66284616 [[10,20]
>>> print(id(f),f)
67985224 [[10],20]

总结:

从以上可以看出,使用a[:],copy.copy(a)四种方式复制列表结果都可以得到一个新的列表,但是如果列表中含有列表,所有b,c,d,e资格新列表的字列表都是指引到同一个对象上。只用使用copy.deepcopy(a)方法得到的新列表f才是包括子列表在内的完全复制

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读