Python学习之列表

列表基本知识:(List)是可变的序列,也是一种可以存储各种数据类型的集合,用中括号([ ])表示列表的开始和结束,元素之间用逗号(,)分隔。列表中的每一个元素提供一个对应的下标。

python中一个列表怎么获得下标的集合 python 列表 下标_python


列表的下标也是从0开始

python中一个列表怎么获得下标的集合 python 列表 下标_列表_02


列表的基本操作方法

列表名.方法

方法

方法功能描述

append

在列表尾部增加元素

clear

列表清空

copy

复制生成另一个列表

count

统计指定元素的个数

extend

两个列表元素合并

index

返回指定元素的下标

insert

在指定位置插入新元素

pop

删除并返回指定下标对应的元素

remove

删除列表中指定元素

reverse

反转列表元素顺序

sort

对列表元素进行排序

help(list.append)提供的是英文帮助

列表元素增加操作
append方法:在列表尾部添加新元素

p=['apple','peach']
p.append('pear')
p
#['apple', 'peach', 'pear'] 使用append函数在尾部添加元素,一次只能添加一个

insert()方法:在指定位置添加元素
insert(index,元素)

p.insert(0,'watermelon')
 p
#['watermelon', 'apple', 'peach', 'pear']
 p.insert(1,2)
 p
#['watermelon', 2, 'apple', 'peach', 'pear']
>>>

列表元素查找

index()方法查找元素
格式为:L.index(value,[start[,stop]]) L是列表元素,value是要查找的元素
start代表开始查找的下标数,stop代表结束的下标数,若查到元素,则返回第一个找到的元素下标,没有找到会报错。

list=['Jerry','Tom',1,2,3,1]
list
#['Jerry', 'Tom', 1, 2, 3, 1]
list.index('Tom')
#1
list.index(1)
#2 在列表中查找元素1,这里只查第一个
list.index(1,3)
#5从下标3开始查找元素1
list.index('b')#不存在元素,会显示出错信息
'''Traceback (most recent call last):
  File "<pyshell#19>", line 1, in <module>
    list.index('b')
ValueError: 'b' is not in list'''

in成员运算判断

只是判断指定元素是否在列表里

若在,返回True,否则返回False

python中一个列表怎么获得下标的集合 python 列表 下标_python_03


用下标读取对应元素

list1=['Jerry',1,2,3]
list1[2]
#2

切片读取

list1=['Jerry',1,2,3]
list1[1:] #从下标1开始的列表元素
#[1,2,3]

列表元素修改
可以通过指定下标,对对应的元素进行赋值修改,与字符串相比,列表元素可以通过指定下标进行修改,具有更大的操作灵活性。

>>> list1=['Jerry',1,2,3]
>>> list1
['Jerry', 1, 2, 3]
>>> list1[3]=2  #对下标为3的元素进行修改
>>> list1
['Jerry', 1, 2, 2]
>>> list1[2]='课'# 对下标2的元素进行修改
>>> list1
['Jerry', 1, '课', 2]

列表元素删除
方法:clear()方法,pop()方法,remove()方法,del函数
clear()方法:清除列表里所有元素,使其变为空列表

>>> list=['red','blue','yellow']
>>> list
['red', 'blue', 'yellow']
>>> list.clear()
>>> list
[]

pop()方法:格式为L.pop([index]),L为列表元素,index为可选参数,指定参数时,在指定参数下标处弹出对应元素并删除,不指定参数时,默认从列表尾部弹出并删除一个元素。

>>> list=['ball1','ball2','ball3']
>>> l=list.pop(0)
>>> print(l,' ',list)
ball1   ['ball2', 'ball3'] #弹出并删除
>>> a=list.pop()
>>> print(a,' ',list)
ball3   ['ball2']

remove()方法:格式为L.remove(value),L代表列表元素,value代表需要删除的元素,当需要删除的列表元素具有多个时,一次只能删除左边第一个。

>>> list=['ball1','ball2','ball3','ball1','ball2']
>>> list
['ball1', 'ball2', 'ball3', 'ball1', 'ball2']
>>> list.remove('ball2')
>>> list
['ball1', 'ball3', 'ball1', 'ball2'] #一次删除左边第一个

del函数:可以删除列表里指定的元素,也可以把整个列表对象删除

>>> list1=['ball1','ball2','ball3']
>>> del(list1[2])
>>> list1
['ball1', 'ball2'] #删除了下标为2的列表
>>> del list1 #删除了整个列表元素,再次调用会报错
>>> list1
Traceback (most recent call last):
  File "<pyshell#60>", line 1, in <module>
    list1
NameError: name 'list1' is not defined

列表元素合并
“+”方法和extend()方法
extend()方法:不会导致内存地址的变化

>>> t1=['b1','b2','b3']
>>> t2=['a','b','c']
>>> t1.extend(t2)
>>> t1
['b1', 'b2', 'b3', 'a', 'b', 'c']

“+”方法合并:可能会导致内存地址号的变化

>>> t1=['b1','b2','b3']
>>> t2=['a','b','c']
>>> t1+=t2
>>> t1
['b1', 'b2', 'b3', 'a', 'b', 'c']

列表元素排序
sort()排序方法:根据ASCII码排序,格式为:L.sort(key=None,reverse=False)。L为列表对象,key为可选参数,如key=str.lower,代表把所有的元素字母从大写转化为小写。默认情况下,是增序排列,reverse=True,为减序排列。

>>> list=[1,3,4,2,0,9,7,8]
>>> list.sort()#默认增序排列
>>> list
[0, 1, 2, 3, 4, 7, 8, 9]
>>> list.sort(reverse=True) #减序排列
>>> list
[9, 8, 7, 4, 3, 2, 1, 0]
>>>
>>> list1=['Tom','tim','john','Jack']
>>> listA=list1.copy()
>>> listA.sort()#默认排序
>>> listA
['Jack', 'Tom', 'john', 'tim']
>>> listB=list1.copy()
>>> listB.sort(key=str.lower)#把大写转化为小写,在进行排序
>>> listB
['Jack', 'john', 'tim', 'Tom']

列表其他的一些方法
copy()方法:格式为L.copy(),生成的新列表,内存地址和原先地址不一致,和直接赋值有很大区别。

>>> list1=['Tom','tim','john','Jack']
>>> listA=list1.copy()
>>> listB=list1.copy()
>>> id(list1)
2539745448648
>>> id(listA)
2539745329608
>>> id(listB)
2539745271304
>>> list=list1 #直接赋值,内存地址不变
>>> id(list)
2539745448648

count()方法:格式为L.count(value),L代表列表元素,e为代表要统计的元素,可以实现对指定元素格式的统计。

>>> list=[1,1,2,3,1,4,2,3,4,5,6,7,8]
>>> list.count(1)
3
>>>

reverse()方法:L.reverse(),对列表元素永久性反向记录。反向操作后,内存地址不变。

>>> list=[1,2,3,4,5,6,7,8,9,10]
>>> list
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> list.reverse()
>>> list
[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
>>>