03Python学习list详解

list详解

一、list特性

list是一个有序集合,底层使用的是链表结构。所以元素是可以进行增删改操作。同事list如果内部元素全部为str时,支持join方法。

二、list内置函数

2.1 元素对象.append( 元素 ) 添加元素 ⭐️

>>> li = ['z','b','c','d','e','f','g','h']
>>> li.append("helloworld")
>>> print(li)
['z', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'helloworld']

2.2 元素对象.clear() 清空列表

>>> li = ['z','b','c','d','e','f','g','h']
>>> li.clear()
>>> print(li)
[]

2.3 元素对象.copy() 浅拷贝⭐️

>>> li = ['z','b','c','d','e','f','g','h']
>>> v = li.copy()
>>> print(v)
['z', 'b', 'c', 'd', 'e', 'f', 'g', 'h']

2.4 元素对象.count(元素值) 统计元素出现的次数⭐️

>>> li = ['a','a','ab','AA','1']
>>> v = li.count('a')
>>> print(v)
2

2.5 元素对象.extend(可迭代对象) 追加元素列表⭐️

>>> li = [1,3,2,]
>>> sub_li = ['a','b']
>>> li.extend(sub_li)
>>> print(li)
[1, 3, 2, 'a', 'b']
>>> other_li = "hello"
>>> li.extend(other_li)
>>> print(li)
[1, 3, 2, 'a', 'b', 'h', 'e', 'l', 'l', 'o']

2.6 元素对象.index(元素值,起始位置-可选,结束位置-可选)⭐️

>>> li = [1,2,3,"ab",2]
>>> v1 = li.index(2)
>>> print(v1)
1
>>> v2 = li.index(2,2,5)
>>> print(v2)
4

2.7 元素对象.insert(索引值,元素值)⭐️

>>> li = [1,2,3,"ab",2]
>>> li.insert(1,"hello")
>>> print(li)
[1, 'hello', 2, 3, 'ab', 2]

2.8 元素对象.pop(索引值),可以通过变量来接收删除的元素

>>> li = [1,2,3,"ab",2]
>>> v = li.pop(2)
>>> print("li:",li," v:",v)
li: [1, 2, 'ab', 2]  v: 3

2.9 元素对象.remove(元素值),但是没法接收删除的元素

>>> li = [1,2,3,"ab",2]
>>> v = li.remove(2)
>>> print("li:",li," v:",v)
li: [1, 3, 'ab', 2]  v: None

2.10 元素对象.reverse(),列表数据反转倒置

>>> li = [1,2,3,"ab",2]
>>> li.reverse()
>>> print("li:",li)
li: [2, 'ab', 3, 2, 1]

2.11 元素对象.sort(可选参数,key=,reverse=True or False)

参数key指定了只含一个参数的方法,这个方法用来从列表的每个元素中提取比较键。

>>> l1 = [1,2,3,55,2]
>>> l1.sort() #默认从小到大排序
>>> print(l1)
[1, 2, 2, 3, 55]
>>> l2 = ['a','b','A','B']
>>> l2.sort(key=str.lower)	#按照大小写来排序
>>> print(l2)
['a', 'A', 'b', 'B']
>>> l3.sort(reverse = True) #从大到小排序
>>> print(l3)
[77, 33, 22, 4, 2, 1]

三、list的切片 [起始位置:结束位置:步长]⭐️

切片是争对有序序列进行,list为有序序列故支持切片操作

>>> l = [1,2,3,4,5,6,7,8,9]
# 通过索引取值
>>> l[0]
1
# 通过切片取值 大于等于2的索引,且不包括索引8
>>> l[2:8]
[3, 4, 5, 6, 7, 8]
# 通过切片取值 大于等于1,且不包括倒数第一个,步长为2的切片
>>> l[1:-1:2]
[2, 4, 6, 8]

四、list删除元素的方法汇总

4.1 del(list[索引])⭐️

>>> l = [1,2,3,4,5,6,7,8,9]
>>> del(l[0])
>>> l
[2, 3, 4, 5, 6, 7, 8, 9]

4.2 对象.remove(值)

>>> l = [2, 3, 4, 5, 6, 7, 8, 9]
>>> l.remove(2)
>>> l
[3, 4, 5, 6, 7, 8, 9]

4.3 对象.pop(索引值,起始位置、结束位置)

>>> l = [3, 4, 5, 6, 7, 8, 9]
>>> v = l.pop(4)
>>> v
7
>>> l
[3, 4, 5, 6, 8, 9]

4.4 对象.clear()

>>> l = [3, 4, 5, 6, 7, 8, 9]
>>> l.clear()
>>> l
[]

五、list的 + * 操作

>>> l1 = [1,2,3,4]
>>> l2 = [1,2,3]

>>> v1 = l1 + l2
>>> v1
[1, 2, 3, 4, 1, 2, 3]

>>> v2 = l1 * 2
>>> v2
[1, 2, 3, 4, 1, 2, 3, 4]

六、 list的遍历及转换 for join⭐️

>>> str = "abcdefghijklmnopqrstuvwxyz"
# 字符串转list
>>> l = list(str)
>>> l
['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']
>>> 
# 遍历list
>>> for iter in l:
...     print(iter,end=" && ")
... 
a && b && c && d && e && f && g && h && i && j && k && l && m && n && o && p && q && r && s && t && u && v && w && x && y && z && 
# list转str
>>> v = "*".join(l)
>>> v
'a*b*c*d*e*f*g*h*i*j*k*l*m*n*o*p*q*r*s*t*u*v*w*x*y*z'

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值