Python_3-List的用法

1.List的基本操作

(1)构造空列表

list1 = [ ]
print(type(list1))

Output:

<class 'list'>

(2)构造列表(列表中的元素可以为int,str,甚至列表可以嵌套列表)

list2 = [1,2,3,'wo','mike',[3,'milk','beer'],'pear']
print(type(list2))
print(list2)

Output:

<class 'list'>
[1, 2, 3, 'wo', 'mike', [3, 'milk', 'beer'], 'pear']

(3)列表的比较操作(列表的比较操作,返回的类型是布尔类型,通常只比较列表的第一个元素)

list1 = [1,2,'beer','pear']
list2 = [3,4,'apple']
print(list1 < list2)
print('------')
list1 = [1,2,'beer','pear']
list2 = [0,4,'apple']
print(list1 < list2)

Output:

True 
------
False 

(4)列表的连接操作(两个列表可以直接使用加号进行连接)

list1 = [1,2,'beer','pear']
list2 = [3,4,'apple']
list3 = list1 + list2
print(list3)

output:

 [1, 2, 'beer', 'pear', 3, 4, 'apple']

(5)列表的成员关系操作(用in来判断元素是否属于列表,返回类型同样为布尔型)

list1 = [1,22,['beer','pear'],'rouse',66,'strive']
num1 = 22 in list1
num2 = 33 in list1
print(type(num1))
print(num1)
print(num2)

output:

<class 'bool'> 
True 
False 

in 的作用效果只能是一级,所以查找列表嵌套的列表元素,要指定到嵌套列表的首地址

list1 = [1,22,['beer','pear'],'rouse',66,'strive']
num3 = 'beer' in list1
num4 = 'beer' in list1[2]
print(type(num3))
print(num3)
print(num4)

output:

<class 'bool'> 
True 
False 

(6)列表的分片操作(list1 [a : b : c] , a表示分片的开始位置,b表示分片的结束位置,c表示的步长,)
通常切片的默认顺序为从左至右,且默认步长为1
注意:在切片时能够取到起始位置标号为a的元素,不能取到结束位置标号为b的元素。

list1 = [1,22,['beer','pear'],'rouse',66,'strive','good','bad']
New_list1 = list1[1:6]
New_list2 = list1[1:6:2]
print(New_list1)
print(New_list2)

Output:

[22, ['beer', 'pear'], 'rouse', 66, 'strive']
[22, 'rouse', 'strive']

在列表中可以从右向左对列表进行切片,当步长为负时实现逆序,如果从右向左进行切片,不写负数的步长,则分片为空。

list1 = [1,22,['beer','pear'],'rouse',66,'strive','good','bad']
New_list1 = list1[7:3]
New_list2 = list1[7:1:-1]
print(New_list1)
print(New_list2)

Output:

[]
['bad', 'good', 'strive', 66, 'rouse', ['beer', 'pear']]

在列表中对元素可以使用负数进行编号,第一个元素默认下标为0,那么最后一个元素下标为-1,所以可以实现使用负数下标进行分片,使用负数下标的本质和正数相同,所以对于正负步长的使用同上。

list1 = [1,22,['beer','pear'],'rouse',66,'strive','good','bad']
New_list1 = list1[-6:-3]
New_list2 = list1[-7:-1:2]
New_list3 = list1[-2:-7:-1]
print('list1[-1]=',list1[-1])
print('list1[-7]=',list1[-7])
print('New_list1=',New_list1)
print('New_list2=',New_list2)
print('New_list3=',New_list3)

Output:

list1[-1]= bad
list1[-7]= 22
New_list1= [['beer', 'pear'], 'rouse', 66]
New_list2= [22, 'rouse', 'strive']
New_list3= ['good', 'strive', 66, 'rouse', ['beer', 'pear']]

2.List的内置方法

使用dir命令查看list的内置方法

>>>dir(list)

Output:

['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']

(1)append在列表末尾插入一个元素

list1 = [1,22,['beer','pear'],'rouse',66,'strive','good','bad']
list1.append('nice')
print('list1 =',list1)

Output:

list1 = [1, 22, ['beer', 'pear'], 'rouse', 66, 'strive', 'good', 'bad', 'nice']

(2)extend在列表末尾拓展另一个列表

list1 = [1,22,'bad','apple','nice','company','right',5,29,22]
list2 = ['left','00',999]
list1.extend(list2)
print('list1 =',list1)

Output:

list1 = [1, 22, 'bad', 'apple', 'nice', 'company', 'right', 5, 29, 22, 'left', '00', 999]

(3)insert在列表任意位置插入元素

list1 = [1,22,['beer','pear'],'rouse',66,'strive','good','bad']
list1.insert(1,'wow')
print('list1 =',list1)

Output:

list1 = [1, 'wow', 22, ['beer', 'pear'], 'rouse', 66, 'strive', 'good', 'bad']

(4)count 统计某个元素在列表中出现的次数

list1 = [1,22,['beer','pear'],'rouse',66,'strive','good','bad',22]
num1 = list1.count(22)
print('num1 =',num1)

Output:

num1 = 2

(5)index 索引某个元素在列表的下标,也可以限定查找的范围

list1 = [1,22,['beer','pear'],'rouse',66,'strive','good','bad',22]
num1 = list1.index(22)
num2 = list1.index(22,3,9)
print('num1 =',num1)
print('num2 =',num2)

Output:

num1 = 1
num2 = 8

(6)pop出栈删除 ,不加参数从列表末尾出栈,加上参数从指定位置出栈

list1 = [1,22,['beer','pear'],'rouse',66,'strive','good','bad',22]
list1.pop()
print('list1 =',list1)
print('-----')
list1.pop(0)
print('list1 =',list1)

Output:

list1 = [1, 22, ['beer', 'pear'], 'rouse', 66, 'strive', 'good', 'bad']
--------------
list1 = [22, ['beer', 'pear'], 'rouse', 66, 'strive', 'good', 'bad']

(7)remove删除元素 ,如果在列表中有相同元素,则只删除第一个找到的元素

list1 = [1,22,'bad','apple','nice','company','right',5,29,22]
list1.remove(5)
print('list1 =',list1)

Output:

list1 = [1, 22, 'bad', 'apple', 'nice', 'company', 'right', 29, 22]

(8)reverse 逆置列表的元素

list1 = [1,22,['beer','pear'],'rouse',66,'strive','good','bad',22]
list1.reverse()
print('list1 =',list1)

Output:

list1 = [22, 'bad', 'good', 'strive', 66, 'rouse', ['beer', 'pear'], 22, 1]

(9)sort 列表元素进行排序,当元素既有int和str时不能进行排序

list1 = [1,22,66,3,4,5,67,65,29,22]
list2 = ['bad','apple','nice','company','right']
list1.sort()
list2.sort()
print('list1 =',list1)
print('list2 =',list2)

Output:

list1 = [1, 3, 4, 5, 22, 22, 29, 65, 66, 67]
list2 = ['apple', 'bad', 'company', 'nice', 'right']

sort的默认排序顺序是从小到大,当参数reverse = True 是将排序结果逆置

list1 = [1,22,66,3,4,5,67,65,29,22]
list2 = ['bad','apple','nice','company','right']
list1.sort(reverse=True)
list2.sort(reverse=True)
print('list1 =',list1)
print('list2 =',list2)

Output:

list1 = [67, 66, 65, 29, 22, 22, 5, 4, 3, 1]
list2 = ['right', 'nice', 'company', 'bad', 'apple']

(10)copy 复制列表,值得注意的是,使用copy方法将重新产生一个新的列表,而=只是将地址进行赋予,会随原列表的变化而变化。

list1 = [1,22,'bad','apple','nice','company','right',5,29,22]
list2 = list1.copy()
list3 = list1
print('id_list1 =',id(list1))
print('id_list2 =',id(list2))
print('id_list3 =',id(list3))
list1.pop()
print('list1 =',list1)
print('list2 =',list2)
print('list3 =',list3)

Output:

id_list1 = 2095941706312
id_list2 = 2095941706376
id_list3 = 2095941706312
list1 = [1, 22, 'bad', 'apple', 'nice', 'company', 'right', 5, 29]
list2 = [1, 22, 'bad', 'apple', 'nice', 'company', 'right', 5, 29, 22]
list3 = [1, 22, 'bad', 'apple', 'nice', 'company', 'right', 5, 29]

(11)clear 清空列表,只是清空列表的内容

list1 = [1,22,'bad','apple','nice','company','right',5,29,22]
print('id_list1 =',id(list1))
list1.clear()
print('list1 =',list1)
print('id_list1 =',id(list1))

Output:

id_list1 = 2515029811784
list1 = []
id_list1 = 2515029811784

3.List的函数

(1)del 删除指定下标的元素

list1 = [1,22,'bad','apple','nice','company','right',5,29,22] 
del list1[2] 
print('list1 =',list1) 

Output:

list1 = [1, 22, 'apple', 'nice', 'company', 'right', 5, 29, 22]

(2)len 求列表的长度

list1 = [1,22,'bad','apple','nice','company','right',5,29,22]
num1 = len(list1)
print('num1 =',num1)

Output:

num1 = 10

(3)max,min 求最大最小值

list1 = [1,22,59,5,29,22]
num1 = min(list1)
num2 = max(list1)
print('num1 =',num1)
print('num2 =',num2)

Output:

num1 = 1
num2 = 59

(4)list 将其他类型转换为列表形式

str1 = 'good good study'
list1 = list(str1)
print(type(list1))
print('list1 =',list1)

Output:

<class 'list'>
list1 = ['g', 'o', 'o', 'd', ' ', 'g', 'o', 'o', 'd', ' ', 's', 't', 'u', 'd', 'y']
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值