Python基本数据类型:列表(list)

基本介绍

list是一种有序集合,序列中每个元素都有索引,第一个元素的索引为0,第二个为1,也可以从最右边数,最后一个索引为-1,倒数第二个索引为-2。list是最常用的基本数据类型,创建一个列表只需在方括号内用逗号分隔各元素就行,各元素之间类型可以不同。list类型是type类型,所创建的list是list类型。

li = [1,2,3,'456',[1,2,3,4],{1:'one',2:'two'}]#元素可以是任何类型
print(type(list))
print(type(li))
运行结果如下:
<class 'type'>
<class 'list'>

元素访问

元素访问可以使用索引直接访问,也可以运用索引访问多个元素。查找元素位置,使用函数list.index()。

#元素访问
print(li[0])
print(li[-1])  #li[len(li)-1]
print(li[-2])  #li[len(li)-2]
#print(li[-7]) #IndexError: list index out of range索引溢出报错
print(li[1:4]) #访问索引为1到4的元素
print(li[1:])  #访问索引为1到最后的元素
print(li[4][3])  #访问one,li嵌套列表元素相当于二维数组,类似还有三维、四维等。

#查找元素位置,按照元素查找
print(li.index('456'))
print(li.index([1,2,3,4]))
#print(li.index(-1)) #ValueError:-1 is not in list值不在报错

运行结果如下:
1
{1: 'one', 2: 'two'}
[1, 2, 3, 4]
[2, 3, '456']
[2, 3, '456', [1, 2, 3, 4], {1: 'one', 2: 'two'}]
4
3
4

列表相关运算符,函数操作

遍历每一个元素,可以使用for循环,其range函数表示范围,len函数表示列表中元素的总个数。+符号是列表链接操作,*符号是元素重复操作。python也提供了求最大最小值得函数,max(list)求列表最大值,min(list)求列表最小值。list.count(obj)统计某元素出现的次数。list.remove(obj)移除某元素在列表中的第一个匹配项。list.reverse()反向列表元素。list.copy()复制列表,list.clear()清空列表。list(seq)将元组转化为列表。

#遍历一个元素
for i in li:
	print(i)
for i in range(len(li)):
	print(li[i])

#len,+,*操作
print(len(li))#求列表长度操作
print([1,2,3]+[4,5,6])#+表示链接列表操作
print([1,"he"]*3)#*表示重复性操作

#相关函数操作
la=[1,2,3,4,5,3,2,3,1]
print(max(la)) #求列表中最大值
print(min(la))  #求列表中最小值
print(la.count(3)) #统计某个值在列表中出现的次数
la.remove(3) #移除某个元素在列表中第一个匹配项
print(la) 
la.reverse() #反向列表中所有元素
print(la)
lb=la.copy() #复制列表
print(lb)
lb.clear() #清空列表
print(lb)
t=(1,2,3,'456')
print(list(t)) #将元组转换为列表

运行结果如下:
1
2
3
456
[1, 2, 3, 4]
{1: 'one', 2: 'two'}
1
2
3
456
[1, 2, 3, 4]
{1: 'one', 2: 'two'}
6
[1, 2, 3, 4, 5, 6]
[1, 'he', 1, 'he', 1, 'he']
5
1
3
[1, 2, 4, 5, 3, 2, 3, 1]
[1, 3, 2, 3, 5, 4, 2, 1]
[1, 3, 2, 3, 5, 4, 2, 1]
[]
[1, 2, 3, '456']

添加、删除、替换、判空操作

list.append(obj)函数是在元素末尾添加元素,list1.extend(list2)函数是将list2中各元素依次添加到list1列表末尾。list.insert(index,obj)函数是在指定索引位置添加元素。list.pop()函数是删除列表最后一个元素。list.pop(index)函数是删除列表指定位置元素。del list[index]也是删除指定位置元素。list[index]=obj 是替换指定位置元素。在判断容器是否为空中,not **和is None不是一回事。

#添加元素
l_a=[1,2,3]
l_a[0]=3
l_a.append(4) #在末尾添加元素
l_a.append(5)
print(l_a)
l_b=[6,7,8]
l_a.extend(l_b)#拆分成各元素加入到末尾
print(l_a)
l_a.append(l_b)#作为一个元素加入到末尾
print(l_a)

l_a.insert(1,4)#在索引为1的位置插入4
print(l_a)

#删除元素
l_a.pop()#删除最后一个元素
print(l_a)
l_a.pop(1)#删除指定位置元素
print(l_a)
del l_a[1]#删除指定位置元素
print(l_a)

#替换指定位置元素
l_a[1]=4
print(l_a)


#判断容器是否为空
l_a=[]
if not l_a:
	print('Empty')  #not XX和is None不是一回事
if l_a is None:
	print('None')
if len(l_a)==0:
	print('Empty')

运行结果如下:
[3, 2, 3, 4, 5]
[3, 2, 3, 4, 5, 6, 7, 8]
[3, 2, 3, 4, 5, 6, 7, 8, [6, 7, 8]]
[3, 4, 2, 3, 4, 5, 6, 7, 8, [6, 7, 8]]
[3, 4, 2, 3, 4, 5, 6, 7, 8]
[3, 2, 3, 4, 5, 6, 7, 8]
[3, 3, 4, 5, 6, 7, 8]
[3, 4, 4, 5, 6, 7, 8]
Empty
Empty

猜你喜欢

转载自blog.csdn.net/suoluo114/article/details/80756311