Python列表操作方法详解

(编辑:jimmy 日期: 2024/9/24 浏览:2)

本节内容

  • 0、列表常用功能汇总
  • 1、定义列表
  • 2、访问列表中的元素
  • 3、切片
  • 4、追加
  • 5、插入
  • 6、修改
  • 7、拷贝
  • 8、删除
  • 9、扩展
  • 10、统计
  • 11、翻转
  • 12、排序
  • 13、获取下标值
  • 14、清空列表

列表是Python最常用的数据类型之一,通过列表可以对数据实现最方便的存储、修改等操作

0、列表常用功能汇总

Python列表操作方法详解

1、定义列表

> name=[]  #定义空列表
> name=['luoahong','chenqun','wenhai','daiqiao','xiedi','guiwei']  #定义一个非空列表

 2、访问列表中的元素

> name=[]
> name=['luoahong','chenqun','wenhai','daiqiao','xiedi','guiwei']
> name[0]
'luoahong'
> name[1]
'chenqun'
> name[2]
'wenhai'
> name[3]
'daiqiao'
> name[-1]  #倒着取最后一个值
'guiwei'
> name[-2]
'xiedi'

 注:列表的下标值是从0开始取值的

3、切片

> name=['luoahong','chenqun','wenhai','daiqiao','xiedi','guiwei']
> name[1:3]
['chenqun', 'wenhai']
> name[1:-1]
['chenqun', 'wenhai', 'daiqiao', 'xiedi']
> name[0:3]
['luoahong', 'chenqun', 'wenhai']
> name[:3]
['luoahong', 'chenqun', 'wenhai']
> name[3:]
['daiqiao', 'xiedi', 'guiwei']
> name[:2]
['luoahong', 'chenqun']
> name[::2]
['luoahong', 'wenhai', 'xiedi']

切片小结:

①序列始终都是从左向右切片的,不能是从右向左

①列表切片时,起始位的元素是包括的,结束位的元素是不包括(又叫顾头不顾尾),最后一个位置表示步长(names[开始位:结束位:步长])

②如果从0位置取值,0可以省略

③想取最后一个值时,结束位不能是-1,因为结束位的元素不包括,所以只能留空

4、追加(append(元素))

> name=['luoahong','chenqun','wenhai','daiqiao','xiedi','guiwei']
> name.append("liuhailin")
> name
['luoahong', 'chenqun', 'wenhai', 'daiqiao', 'xiedi', 'guiwei', 'liuhailin']  #liuhailin是新加的

5、插入(insert(下标值,插入的内容))

> name=['luoahong','chenqun','wenhai','daiqiao','xiedi','guiwei']
> name.insert(0,"liyang")  #0表示需要插入的下标值,'1'表示插入的内容
> name
['liyang', 'luoahong', 'chenqun', 'wenhai', 'daiqiao', 'xiedi', 'guiwei']   #在下标值为0的地方插入liyang

 6、修改

> name=['luoahong','chenqun','wenhai','daiqiao','xiedi','guiwei']
> name[1]='chenqundage'
> name
['luoahong', 'chenqundage', 'wenhai', 'daiqiao', 'xiedi', 'guiwei']

 注:修改列表中的元素,直接是 names[下标值] = 新值

7、拷贝(copy())

> name=['luoahong','chenqun','wenhai','daiqiao','xiedi','guiwei']
> name2=name.copy()
> name2
['luoahong', 'chenqun', 'wenhai', 'daiqiao', 'xiedi', 'guiwei']

 注:这边的copy都是浅copy,只能copy第一层。深浅拷贝的详细信息:

8、删除(del、remove(元素)、pop())

#根据下标值删除元素
> name=['luoahong','chenqun','wenhai','daiqiao','xiedi','guiwei'] > del name[0] > name ['chenqun', 'wenhai', 'daiqiao', 'xiedi', 'guiwei']
#根据元素删除 > name=['luoahong','chenqun','wenhai','daiqiao','xiedi','guiwei'] > name.remove('xiedi') > name ['luoahong', 'chenqun', 'wenhai', 'daiqiao', 'guiwei']
#删除最后一个 > name=['luoahong','chenqun','wenhai','daiqiao','xiedi','guiwei'] > name.pop() 'guiwei' > > 

 注:

①如果pop()中有下标值,则是删掉具体某个元素,其效果和del的效果是一样的

> name=['luoahong','chenqun','wenhai','daiqiao','xiedi','guiwei']
> name.pop(1)   #在输入下标值得情况下和del的效果是一样的
'chenqun' > name ['luoahong', 'wenhai', 'daiqiao', 'xiedi', 'guiwei']

②del关键字不仅可以删除列表中的元素,也可以删除变量

> name=['luoahong','chenqun','wenhai','daiqiao','xiedi','guiwei']
#删除name这个变量
del name > name Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'name' is not defined

 注:

①如果pop()中有下标值,则是删掉具体某个元素,其效果和del的效果是一样的

②del关键字不仅可以删除列表中的元素,也可以删除变量

 9、扩展(extend)

> name1=['luoahong','chenqun','wenhai','daiqiao','xiedi','guiwei']
> name2=['1','2','3','4','5','6']
> name1.extend(name2)
> name1
['luoahong', 'chenqun', 'wenhai', 'daiqiao', 'xiedi', 'guiwei', '1', '2', '3', '4', '5', '6']

注:names2的列表合并到names1中,但是,names2这个列表依然存在,如果想删除names2这个变量,则只需del names2即可

10、统计(count(元素))

> name1=['luoahong','chenqun','wenhai','daiqiao','chenqun','xiedi','guiwei','chenqun']
> name1.count('chenqun')  #统计元素'chenqun'元素的个数
3

 11、翻转(reverse())

> name=['luoahong','chenqun','wenhai','daiqiao','xiedi','guiwei']
> name.reverse()
> name
['guiwei', 'xiedi', 'daiqiao', 'wenhai', 'chenqun', 'luoahong']   #将整个列表翻转过来

 12、排序(sort())

> name=['4','3','2','1']
> name.sort()
> name
['1', '2', '3', '4']

 13、获取下标值(index(元素))

> name=['luoahong','chenqun','wenhai','daiqiao','xiedi','guiwei']
> name.index('chenqun')
1

 14、清空列表(clear())

> name=['luoahong','chenqun','wenhai','daiqiao','xiedi','guiwei']
> name.clear()
NameError: name 'names' is not defined
> name
[]

更多关于Python列表操作方法请查看下面的相关链接

一句话新闻

一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?