【Python】python中的数组(list)常用方法

1. 前言

python 中的数组可以说是本人最常用的数据结构了,其中一些方法总是忘记,再次做一下总结。

2. 如何查看某个数据结构的方法

Python 3.9.9 (main, Dec  2 2021, 14:30:08)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> help(list)

执行上面的命令之后,就会显示出所有该数据结构的内置和外置方法

 |
 |  append(self, object, /)
 |      Append object to the end of the list.
 |  clear(self, /)
 |      Remove all items from list.
 |
 |  copy(self, /)
 |      Return a shallow copy of the list.
 |
 |  count(self, value, /)
 |      Return number of occurrences of value.
 |
 |  extend(self, iterable, /)
 |      Extend list by appending elements from the iterable.
 |
 |  index(self, value, start=0, stop=9223372036854775807, /)
 |      Return first index of value.
 |
 |      Raises ValueError if the value is not present.
 |
 |  insert(self, index, object, /)
 |      Insert object before index.
 |
 |  pop(self, index=-1, /)
 |      Remove and return item at index (default last).
 |
 |      Raises IndexError if list is empty or index is out of range.
 |
 |  remove(self, value, /)
 |      Remove first occurrence of value.
 |
 |      Raises ValueError if the value is not present.
 |
 |  reverse(self, /)
 |      Reverse *IN PLACE*.
 |
 |  sort(self, /, *, key=None, reverse=False)
 |      Sort the list in ascending order and return None.
 |
 |      The sort is in-place (i.e. the list itself is modified) and stable (i.e. the
 |      order of two equal elements is maintained).
 |
 |      If a key function is given, apply it once to each list item and sort them,
 |      ascending or descending, according to their function values.
 |
 |      The reverse flag can be set to sort in descending order.

3. 方法解释

3.1 概览

每个函数的基本功能都在表格里有解释了,现在针对几个比较特殊的再做一下详解。另外补充几个适用于list 的方法

3.2 copy

#list.copy(self)

L1 = [1,2,3,4]
L2 = L1.copy()
print(L2)
# [1,2,3,4]

这个函数用于复制列表,做浅拷贝,与之对应的有深拷贝

import copy
l1 = [1,2,3,4]
l2 = copy.deepcopy(l1)

深浅拷贝可以参考下这个文章:
浅拷贝与深拷贝

3.3 insert

在指定位置增加一个元素

L= [1,2,3,3]
print(L.index(3))
# 2

3.4 del

del 是 Python 中的关键字,专门用来执行删除操作,它不仅可以删除整个列表,还可以删除列表中的某些元素。
del 可以删除列表中的单个元素,格式为:

del listname[index]

del 也可以删除中间一段连续的元素,格式为:

del listname[start : end]

其中,start 表示起始索引,end 表示结束索引。del 会删除从索引 start 到 end 之间的元素,不包括 end 位置的元素。

3.5 join

将列表变成字符串

#'str'.join(list)

li = ['my','name','is','bob'] 
print(' '.join(li))
# 'my name is bob' 
 
print('_'.join(li))
# 'my_name_is_bob' 

3.6 split

#split(seq,maxsplit=-1)

b = 'my..name..is..bob' 
print(b.split()) 
# ['my..name..is..bob'] 
 
print(b.split(".."))
# ['my', 'name', 'is', 'bob'] 

原创 https://www.cnblogs.com/gaoshaonian/p/16045599.html

3.7 reverse

此方法是对列表中的元素进行逆序

a = [1,3,6,8,9]
for i in reversed(a):
    print(i, end=" ")

除此之外还有其他两种方法,举例如下:

for i in a[::-1]:
    print(i, end=" ")

for i in range(len(a)-1,-1,-1):
    print(a[i], end=" ")

3.8 filter

filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表。
该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判断,然后返回 True 或 False,最后将返回 True 的元素放到新列表中。

def is_odd(n):
    return n % 2 == 1
 
newlist = filter(is_odd, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
print(newlist)
#[1, 3, 5, 7, 9]

本文参考了这个文章:
参考文章

posted @ 2022-03-23 17:14  恩赐解脱ゞ  阅读(1199)  评论(0编辑  收藏  举报