Python列表全面解析及常用方法

在Python中,列表(List)是最基本也是最常用的数据结构之一。本文将深入探讨列表的使用方法,并详细介绍其常用方法及一些高级操作。

图片[1]-Python列表全面解析及常用方法-山海云端论坛

一、列表基础操作:

列表中的每个元素都有一个唯一的索引,索引从0开始,依次递增。列表支持嵌套、迭代、修改、切片、追加和删除等操作。从数据结构的角度看,列表是一个可变长度的顺序存储结构,每个位置存放对象的指针。

二、列表使用示例

<code>>>> a = [66.25, 333, 333, 1, 1234.5]</code><code>>>> print a.count(333), a.count(66.25), a.count('x')</code><code>2 1 0</code><code>>>> a.insert(2, -1)</code><code>>>> a.append(333)</code><code>>>> a</code><code>[66.25, 333, -1, 333, 1, 1234.5, 333]</code><code>>>> a.index(333)</code><code>1</code><code>>>> a.remove(333)</code><code>>>> a</code><code>[66.25, -1, 333, 1, 1234.5, 333]</code><code>>>> a.reverse()</code><code>>>> a</code><code>[333, 1234.5, 1, 333, -1, 66.25]</code><code>>>> a.sort()</code><code>>>> a</code><code><br></code><code>[-1, 1, 66.25, 333, 333, 1234.5]</code>

三、列表合并的4种方法
方法1: 直接使用”+”号合并列表,运算符重载

<code>aList = [1,2,3]</code><code>bList = ['www', 'baidu.com']</code><code>cList = aList + bList</code><code>dList = bList + aList</code><code>print(cList)</code><code>print(dList)</code><code>输出为:</code><code>[1, 2, 3, 'www', 'baidu.com']</code><code>['www', 'baidu.com', 1, 2, 3]</code>

方法2: 使用extend方法

<code>aList = [1,2,3]</code><code>bList = ['www', 'baidu.com']</code><code>aList.extend(bList)</code><code>print(aList)</code><code>输出为:</code><code>[1, 2, 3, 'www', 'baidu.com']</code>

注意:使用extend方法会直接修改list数据,extend方法的返回值为None,所以直接打印aList
方法3: 使用切片

<code>aList = [1,2,3]</code><code>bList = ['www', 'baidu.com']</code><code>aList[len(aList):len(aList)] = bList</code><code>print(aList)</code><code>输出:</code><code>[1, 2, 3, 'www', 'baidu.com']</code>

注:len(aList)代表要将bList插入aList中的位置
方法4: 使用append方法
a.append(b)将b看成list一个元素和a合并成一个新的list,它和前面的方法的输出结果不同

<code>aList = [1,2,3]</code><code>bList = ['www', 'baidu.com']</code><code>aList.append(bList)</code><code>print(aList)</code><code>输出:</code><code>[1, 2, 3, ['www', 'baidu.com']]</code>

它直接把bList当成了一个元素整个放入了aList

四、列表排序方法reverse、sort、sorted的区别
1.reverse()方法
将列表中元素反转排序

<code>>>> x = [1,5,2,3,4]</code><code>>>> x.reverse()</code><code>>>> x</code><code>[4, 3, 2, 5, 1]</code>

reverse列表反转排序:是把原列表中的元素顺序从左至右的重新存放,而不会对列表中的参数进行排序整理。如果需要对列表中的参数进行整理,就需要用到列表的另一种排序方式sort正序排序。
2.sort()排序方法
此函数方法对列表内容进行正向排序,排序后的新列表会覆盖原列表(id不变),也就是sort排序方法是直接修改原列表list排序方法。

<code>>>> a = [5,7,6,3,4,1,2]</code><code>>>> a.sort()</code><code>>>> a</code><code>[1, 2, 3, 4, 5, 6, 7]</code>


3.sorted()方法 获取排序后的列表
即可以保留原列表,又能得到已经排序好的列表sorted()操作方法如下:

<code>>>> a = [5,7,6,3,4,1,2]</code><code>>>> b = sorted(a)</code><code>>>> b</code><code>[1, 2, 3, 4, 5, 6, 7]</code>


sorted()方法可以用在任何数据类型的序列中,返回的总是一个列表形式:
三者的区别
sort()是可变对象(字典、列表)的方法,无参数,无返回值,sort()会改变可变对象,因此无需返回值。sort()方法是可变对象独有的方法或者属性,而作为不可变对象如元组、字符串是不具有这些方法的,如果调用将会返回一个异常。
sorted()是python的内置函数,并不是可变对象(列表、字典)的特有方法,sorted()函数需要一个参数(参数可以是列表、字典、元组、字符串),无reverse()与sort的使用方式一样,而reversed()与sorted()的使用方式相同

五、求list的差集、并集、交集

<code>listA = [1,2,3,4]</code><code>listB = [2,3,4]</code>

1.求两个list差集,结果是[1]

方法1. 循环遍历法

<code>ret = []</code><code>for i in listA:</code><code>    if i not in listB:</code><code>        ret.append(i)</code><code>print(ret)</code>

方法2. 运算符法

<code>ret = list(set(listA) ^ set(listB))</code><code>print(ret)</code>

方法3. difference函数法

<code>list(set(listA).difference(set(listB)))</code><code>print(ret)</code>

2.求两个list的并集

<code>ret = list(set(listA).union(set(listB)))</code><code>print(ret)</code>

3.求两个list的交集

<code>ret = list(set(listA).intersection(set(listB)))print(ret)</code><br><br>

通过本文,您将全面了解Python列表的使用方法,包括基础操作、常用方法以及高级技巧。列表作为一种灵活且强大的数据结构,为您的编程工作提供了丰富的选择。

© 版权声明
THE END
喜欢就支持一下吧
点赞9 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容