Python学习——列表

本文是关于Python学习的笔记,重点介绍了列表这一数据结构。内容包括列表的创建、添加元素(append、extend、insert)、获取和修改元素、删除元素(remove、del、pop)、列表分片、操作符、元素存在性检查、计数和索引查找、列表翻转与排序。适合初学者了解和掌握Python列表的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Python学习第四天——列表

1.列表

  • 因为Python变量没有数据类型,所以没有数组(只能存放相同类型的变量),但是有强大的列表。
  • Int,float,str,列表,对象都可以作为列表成员。
  • 列表索引值从0开始

2.创建一个普通列表:

>>> member = ['hello','world',3,5,['hi',6]]
>>> empty = []	#创建一个空列表
>>> member
['hello', 'world', 3, 5, ['hi', 6]]
>>> empty
[]

3.向列表添加元素:

  • list.append() 一个参数,参数为变量名,只能添加一个元素到列表的末尾。
['hello', 'world', 3, 5, ['hi', 6]]
>>> member.append('night')
>>> member
['hello', 'world', 3, 5, ['hi', 6], 'night']
  • list.extend([]) 一个参数,参数为一个列表,原理:用另一个列表来扩展一个列表,也是添加在末尾。
['hello', 'world', 3, 5, ['hi', 6], 'night']
>>> member.extend([7,'morning'])
>>> member
['hello', 'world', 3, 5, ['hi', 6], 'night', 7, 'morning']
  • list.insert(index,变量名) 两个参数,位置索引值+变量名,把一个新的元素插入到列表的特定位置。
['hello', 'world', 3, 5, ['hi', 6], 'night', 7, 'morning']
>>> member.insert(3,'noon')		#把'noon'插入到第四个位置
>>> member
['hello', 'world', 3, 'noon', 5, ['hi', 6], 'night', 7, 'morning']

4.从列表中获取元素:

['hello', 'world', 3, 'noon', 5, ['hi', 6], 'night', 7, 'morning']
>>> member[4]
5
>>> member[6]
'night'

交换两个元素:

['hello', 'world', 3, 'noon', 5, ['hi', 6], 'night', 7, 'morning']
>>> temp = member[2]
>>> member[2]=member[3]
>>> member[3]=temp
>>> member
['hello', 'world', 'noon', 3, 5, ['hi', 6], 'night', 7, 'morning']

修改一个元素的值:

list1 = [8,6,4,2]
>>> list1[2] = 7
>>> list1
[8, 6, 7, 2]

5.从列表删除元素:

  • list.remove() 一个参数,参数为元素名
['hello', 'world', 'noon', 3, 5, ['hi', 6], 'night', 7, 'morning']
>>> member.remove('world')
>>> member
['hello', 'noon', 3, 5, ['hi', 6], 'night', 7, 'morning']
  • del语句
['hello', 'noon', 3, 5, ['hi', 6], 'night', 7, 'morning']
>>> del member[1]     #删除第二个元素'noon'
>>> member
['hello', 3, 5, ['hi', 6], 'night', 7, 'morning']

#del member    会删除整个member列表
  • list.pop(index) 取出一个元素;一个参数为位置索引值;有返回值,返回值为取出的元素;不写参数时默认取出最后一个元素
['hello', 3, 5, ['hi', 6], 'night', 7, 'morning']
>>> member.pop()
'morning'
>>> member
['hello', 3, 5, ['hi', 6], 'night', 7]

>>> member.pop(2)
5
>>> member
['hello', 3, ['hi', 6], 'night', 7]

>>> name = member.pop[0]		#还可以给取出的元素命名
>>> name
'hello'

6.列表分片(切片)slice:
list[idex:index]可一次性获取多个元素;两个索引值参数,开始的位置索引值+结束的位置索引值,返回值为一个分片的列表。

member=['hello', 3, ['hi', 6], 'night', 7]
>>> member[1:3]
[3, ['hi', 6]]

>>> member[:3]
['hello', 3, ['hi', 6]]

>>> member[:3]
['hello', 3, ['hi', 6]]

>>> member[:]					#可用于拷贝列表
['hello', 3, ['hi', 6], 'night', 7]

>>> member2 = member[:]			#拷贝列表
>>> member2
['hello', 3, ['hi', 6], 'night', 7]

#List2=list1[:]			list2不会跟着list1改变
#List2=list1			list2会跟着list1改变,因为只是增加了一个标签名字而已

7.列表的常用操作符:

>>> list1=[23,34,45]
>>> list2=[1,45,6]

#比较
>>> list1<list2					#从第一个元素开始比较,如果第一个元素有了比较结果,后面的就不再比较
False
>>> list1>list2
True

#拼接
>>> list3=list1+list2			#不建议使用列表拼接的方式形成新的列表,推荐使用list.extend()方法
>>> list3
[23, 34, 45, 1, 45, 6]

#重复
>>> list2*3
[1, 45, 6, 1, 45, 6, 1, 45, 6]
>>> list2						#注意list2并没有改变
[1, 45, 6]

>>> list2 *= 3
>>> list2
[1, 45, 6, 1, 45, 6, 1, 45, 6]	#list2改变

8.判断一个元素在不在一个列表中

  • 元素名 (not) in list ,返回一个bool值
  • In只能判断一层列表的元素
member=['hello', 3, ['hi', 6], 'night', 7]
>>> 3 in member
True
>>> 3 not in member
False
>>> 6 in member[2] 			 #判断列表里的列表里的元素
>True
>>>> member[2][0]  			 #访问列表里的列表里的元素
'hi'

9.其他常用方法

>>> dir(list)
['__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']

  • list.count(元素名) 返回这个元素在这个列表中出现的次数
>>> member
['hello', 3, ['hi', 6], 'night', 7, 'hello', 3, ['hi', 6], 'night', 7]
>>> member.count('hello')
2
>>> member.count('hi')
0
>>> member[2].count('hi')
1
  • list.index(元素名[,index,index]) 返回这个元素在列表中(一个范围中)的位置
>>> member
['hello', 3, ['hi', 6], 'night', 7, 'hello', 3, ['hi', 6], 'night', 7]
>>> member.index('night')
3
>>> member.index('night',5,9)
8
  • list.reverse() 无参数,翻转列表
['hello', 3, ['hi', 6], 'night', 7, 'hello', 3, ['hi', 6], 'night', 7]
>>> member.reverse()
>>> member
[7, 'night', ['hi', 6], 3, 'hello', 7, 'night', ['hi', 6], 3, 'hello']
  • list.sort([func,key,]reverse) reverse默认是false(从小到大排列),改成true(从大到小排列)
>>> list1=[4,9,7,2,5,3]
>>> list1.sort()
>>> list1
[2, 3, 4, 5, 7, 9]

>>> list1.sort(reverse=True)
>>> list1
[9, 7, 5, 4, 3, 2]
  • len(member) 返回member的元素个数
[7, 'night', ['hi', 6], 3, 'hello', 7, 'night', ['hi', 6], 3, 'hello']
>>> len(member)
10

######本文章是根据小甲鱼的学习视频所写的学习笔记,部分内容为引用,侵删#####

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值