Python学习日记之列表

有关于序列的操作,例如索引,分片,相加,乘法等都适用于列表
1.元素赋值
例 :

>>> a=[1,2,3,4,5]
>>> a[1]=10
>>> a
>[1,10,3,4,5]

**不能为一个不存在元素的位置赋值

2.增加元素

append() 用于在列表末尾增加新元素
list.append(obj)
list是列表,obj是对象

3.删除元素
del list[num]

4.分片赋值
使用分片的方法可以随意替换,增加,删除列表里的对象
可以用一个对象替换很多个对象(相当于删除了其他对象留下新替换的对象)

列表方法

1.append
在列表末尾添加对象

list.append()

2.count
用于统计某个元素在列表中出现的次数

list.count(obj)

使用方法如下

>>> a = list('hello,world')
>>> a
['h', 'e', 'l', 'l', 'o', ',', 'w', 'o', 'r', 'l', 'd']
>>> print('列表中o的个数是:',a.count('o'))
列表中o的个数是: 2

3.extend
用于在列表末尾一次性追加另一个序列的多个值(用新列表扩建原来的列表)

list.extend(seq)

seq代表需要追加到list中的元素列表
extend()与序列相加的区别

>>> a=['hello','world']
>>> b=['python','is','funny']
>>> a+b
['hello', 'world', 'python', 'is', 'funny']
>>> a
['hello', 'world']
>>> a.extend(b)
>>> a
['hello', 'world', 'python', 'is', 'funny']

如上,extend会修改前面的a,而序列相加不会改变a

4.index
从列表中找出某个值第一个匹配项的索引位置

list.index(obj)

如果搜索列表中不存在的字符串,操作结果就会出错

5.insert
用于将对象插入列表

list.insert(index,obj)

list 代表列表,index代表对象obj需要插入的索引位置,obj代表要插入列表中的对象

>>> a = [1,2,3]
>>> a
[1, 2, 3]
>>> a.insert(2,'插入2之后3之前')
>>> a
[1, 2, '插入2之后3之前', 3]

6.pop
用于一处列表中的一个元素(默认最后一个元素),并且返回该元素的值

list.pop(obj=list[-1])
>>> a=['hello','world','python','is','funny']
>>> a.pop()
'funny'
>>> a
['hello', 'world', 'python', 'is']
>>> a.pop(2)
'python'
>>> a
['hello', 'world', 'is']

pop方法是唯一一个既能修改列表又能返回元素值(除了None之外)的列表方法

7.remove
用于移除列表中某个值的第一个匹配项

list.remove(obj)

remove没有返回值,是一个直接对元素所在位置变更的方法

8.reverse
反向列表中的元素

list.reverse()

该方法不需要传参

>>> a=[1,2,3]
>>> a
[1, 2, 3]
>>> a.reverse()
>>> a
[3, 2, 1]

9.sort
对原列表进行排序,如果指定参数,就会使用改参数的方法进行排序

list.sort(func)

func是可选参数,如果指定该参数,就会用其排序方法排序

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

由上,sort方法改变了原来的列表,而当需要一个排序好的列表副本,同时保持原列表不变,需要的操作

>>> a=[9,5,7,6,3,1,8]
>>> a.sort()
>>> a
[1, 3, 5, 6, 7, 8, 9]
>>> a=[9,6,7,2,8]
>>> b=a[:]			#将a切片赋值给b
>>> b.sort()
>>> b				#b被排序
[2, 6, 7, 8, 9]
>>> a				#a没被排序
[9, 6, 7, 2, 8]
>>> b=a 			#若将a直接赋值给b
>>> a
[9, 6, 7, 2, 8]
>>> b
[9, 6, 7, 2, 8]
>>> b.sort()
>>> b				#b被排序
[2, 6, 7, 8, 9]
>>> a				#a也被排序
[2, 6, 7, 8, 9]

由上,当需要一个排好序的副本原列表保持不变的时候,要进行分片赋值,直接赋值是会一并排序的
*sorted函数可以直接取列表的副本进行排序

>>> a=[9,6,7,2,8]
>>> b=sorted(a)
>>> b
[2, 6, 7, 8, 9]
>>> a
[9, 6, 7, 2, 8]

sorted函数可以用于任何序列,返回结果都是一个 列表

>>> sorted('python')
['h', 'n', 'o', 'p', 't', 'y']

10.高级排序
sort有两个可选参数,key和reverse

>>> a=['study','python','is','funny']
>>> a.sort(key=len)			#按照字符串长度排序
>>> a
['is', 'study', 'funny', 'python']
>>> a.sort(key=len,reverse=True)
>>> a
['python', 'study', 'funny', 'is']
>>> num=[5,8,1,3,6]
>>> num.sort(reverse=True)		#排序后逆序
>>> num
[8, 6, 5, 3, 1]

11.clear
方法用于清空列表,类似于del a[:]

list.clear()

不需要传参

12.copy
用于复制列表,类似于 a[:]

list.copy()

不需要传参

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值