|
|
|
|
移动端

2.2.5 列表(2)

《自学Python:编程基础、科学计算及数据分析》第2章Python 基础,在本章中,我们将学习Python 语言的基本使用,掌握Python 的基本使用方法,为后续的学习打下基础。本节为大家介绍列表。

作者:李金来源:机械工业出版社|2018-05-03 16:41

技术沙龙 | 邀您于8月25日与国美/AWS/转转三位专家共同探讨小程序电商实战

2.2.5 列表(2)

4.元素的删除

Python提供了一种更通用的删除列表元素的方法:关键字 del。

用 del关键字删除列表位置 0处的元素:

  1. In [30]: a = [1002, 'a', 'b', 'c']   
  2. In [31]: del a[0]   
  3. In [32]: a   
  4. Out[32]: ['a', 'b', 'c']  

删除第二到昀后一个元素:

  1. In [33]: a = [1002, 'a', 'b', 'c']   
  2. In [34]: del a[1:]   
  3. In [35]: a   
  4. Out[35]: [1002] 

删除间隔为2的元素:

  1. In [36]: a = ['a', 1, 'b', 2, 'c']   
  2. In [37]: del a[::2]   
  3. In [38]: a   
  4. Out[38]: [1, 2]  

5.从属关系的判断

可以用关键字 in和关键字 not in判断某个元素是否在某个序列中。例如:对于列表

  1. In [39]: a = [10, 11, 12, 13, 14]   
  2. In [40]: 10 in a   
  3. Out[40]: True   
  4. In [41]: 10 not in a   
  5. Out[41]: False  

关键字 in也可以用来测试字符串中的从属关系。对于字符串来说,它的从属关系的范畴比列表更大,我们可以测试一个字符串是不是在另一个字符串中:

  1. In [42]: s = "hello world"   
  2. In [43]: "hello" in s   
  3. Out[43]: True  

6.不改变列表的方法

字符串调用方法的时候,不会改变字符串本身的值。列表也提供了一些方法,这些方法不会改变列表本身的值。

(1).count()方法

.count()方法返回列表中某个特定元素出现的次数:

  1. In [44]: a = [11, 12, 13, 11, 12]   
  2. In [45]: a.count(11)   
  3. Out[45]: 2 

(2).index()方法

.index()方法返回列表中某个元素第一次出现的索引位置:

  1. In [46]: a.index(12)   
  2. Out[46]: 1 

元素不存在时抛出异常:

  1. In [47]: a.index(100)  
  2. ValueError      Traceback (most recent call last)   
  3. <ipython-input-47-ed16592c2786> in <module>()   
  4. ----> 1 a.index(100)   
  5.  
  6. ValueError: 100 is not in list 

7.改变列表的方法

列表还有一些改变自己值的方法。

(1).append()方法

.append()方法向列表昀后添加单个元素:

  1. In [48]: a = [10, 11, 12]   
  2. In [49]: a.append(11)   
  3. In [50]: a   
  4. Out[50]: [10, 11, 12, 11] 

该方法每次只向列表中添加一个元素,如果这个元素是序列,那么列表的昀后一个元素就是这个序列,并不会将其展开:

  1. In [51]: a.append([1, 2])   
  2. In [52]: a   
  3. Out[52]: [10, 11, 12, 11, [1,2]] 

(2).extend()方法

.extend()方法将另一个序列中的元素依次添加到列表的昀后:

  1. In [53]: a = [10, 11, 12]   
  2. In [54]: a.extend([1, 2])   
  3. In [55]: a   
  4. Out[55]: [10, 11, 12, 1, 2]  

(3).insert()方法

.insert()方法在指定索引位置处插入一个元素,令列表的该位置等于这个元素,插入位置后的元素依次后移:

  1. In [56]: a = [10, 11, 12, 13, 11]   
  2. In [57]: a.insert([2, 'a'])   # 使得 a[2] = 'a'   
  3. In [58]: a   
  4. Out[58]: [10, 11, 'a', 12, 13, 11] 

(4).remove()方法

.remove()方法将列表中第一个出现的指定元素删除,若该元素不在列表中会抛出异常:

  1. In [59]: a = [10, 11, 12, 13, 11]   
  2. In [60]: a.remove(11) # 只会移除第一个11   
  3. In [61]: a   
  4. Out[61]: [10, 12, 13, 11]  

(5).pop()方法

.pop()方法将列表中指定索引位置处的元素删除,并返回这个元素值。

例如,删除列表位置2的元素12,并返回了它的值:

  1. In [62]: a = [10, 11, 12, 13, 11]   
  2. In [63]: a.pop(2)   
  3. Out[63]: 12   
  4. In [64]: a   
  5. Out[64]: [10, 11, 13, 11] 

喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:365934973

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

Java程序设计专家门诊

精选目前国内外最流行的程序设计语言——Java作为本书的选题,并以丰富的内容来解决读者学习该语言时可能遇到的各种问题。以专业的论坛为基...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊