hand
13
_1_5_21
4
返回栏目
1k
9k
1k
1k
5k
1k
1k
1k
1k
3k
2k
1k
0.8k
2k
3k
1k
1k
0.7k
0.9k
1k
0.6k
0.4k
0.4k
0.3k
3k
2k
9k
0.4k
0.4k
0.8k
0.5k
3k
5k
1k
2k
2k
3k
5k
1k
1k
0.4k
0.5k
0.4k
0.6k
0.7k
1k
0.4k
0.3k
4k
0.5k
0k
0.3k
0k
0.2k
0.2k
0.3k
0.9k
0.9k
0.1k
0.9k
0.9k
1k
0.5k
6k
0.3k
0.4k
0.7k
0.6k
8k
3k
1k
1k
1k
1k
0k
2k
1k
1k
0.2k
5k
4k
5k
0.4k
0.8k
1k
1k
1k
0.1k
2k
1k
2k
6k
0k
2k
7k
1k
5k
2k
3k
1k
0k
1k
0.9k
0.4k
0.2k
1k
3k
4k
1k
1k
1k
2k
3k
0.7k
0.3k
0.5k
0.6k
1k
0.9k
3k
0.3k
4k
返回python栏目
作者:
贺及楼
成为作者
更新日期:2024-12-02 10:51:40
Python 中的列表(list
)是一种有序的集合,可以包含任意类型的元素,包括数字、字符串、甚至其他列表。列表是可变的,意味着可以修改其内容,如添加、删除或更改元素。它支持广泛的操作,如索引、切片、迭代等,以及内建方法,如排序、反转。列表在存储和处理序列数据时非常有用,是Python编程中非常灵活和强大的数据结构。
list列表的操作多种多样,序列有排序、反序;对列表集合的差集、并集、交集
多个列表合并、对列表进行末尾添加、指定位置添加、末尾追加、删除、修改等操作
只要把逗号分隔的不同的数据项使用方括号括起来即可。
如下所示:
list0 = [] # 空列表
list1 = ['phthon', 'java', 1997, 2000]
list2 = [1, 2, 3, 4, 5 ]
list3 = ["a", "b", "c", "d"]
与字符串的索引一样,列表索引从0开始。列表可以进行截取、组合等。
函数 | 例子 | 输出 | 说明 |
---|---|---|---|
alist.append() | alist.append('app') |
alist = ['app'] |
列表末尾添加 |
alist.insert() | alist.insert( 3, 2) |
alist = ['app',2] |
列表指定位置添加 |
alist.insert() | alist.insert(3,3) |
alist = ['app', 2, 3] |
列表指定位置添加 |
alist.insert() | alist.insert(3,4) |
alist = ['app', 2, 3, 4] |
列表指定位置添加 |
alist.insert() | alist.insert(3,5) |
alist = ['app', 2, 3, 5, 4] |
列表指定位置添加 |
alist.extend() | alist.extend([99, '00']) |
alist = ['app', 2, 3, 5, 4,99, '00'] |
列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表) |
pop_data=alist.pop() | pop_data=alist.pop() | alist = ['app', 2, 3, 5, 4,99] |
默认删除list中最后一个元素,pop_data='00' |
pop_data=alist.pop() | pop_data=alist.pop(1) | alist = ['app', 3, 5, 4, 99] |
删除第2个元素(0开头),pop_data=2 |
alist.remove() | alist.remove('app') |
alist = [3, 5, 4,99] |
删除1个list指定元素 |
n = len(alist) | n = len([1,2,3]) | n = 3 | 列表元素个数 |
lst2 = list(set()) | lst2 = list(set([2, 1, 3, 4, 1])) | lst2 = [1, 2, 3, 4] | 去重 |
m = max(alist) | m = max([1,2,3]) | m = 3 | 返回列表元素最大值 |
n = min(alist) | n = min([1,2,3]) | n = 1 | 返回列表元素最小值 |
l = list(seq) | l = list((1,2,3)) | l = [1, 2, 3] | 将元组转换为列表 |
count() 用于统计某个元素在列表中出现的次数。
alist = [123, 'xyz', 'zara', 'abc', 123]
print (alist.count(123))
以上实例输出结果如下:
>>>2
使用index()方法:用于从列表中找出某个值第一个匹配项的索引位置。
alist = [123, 'xyz', 'zara', 'abc', 123]
print (alist.index(123))
print (alist.index('xyz'))
以上实例输出结果如下:第0个、第1个
>>>0
>>>1
索引访问列表中的值
注:切片同样适用于字符串,字符串也有下标
使用方法 | 说明 |
---|---|
name[n:m] |
切片是不包含后面那个元素的值(顾头不顾尾) |
name[:m] |
如果切片前面一个值缺省的话,从开头开始取 |
name[n:] |
如果切片后面的值缺省的话,取到末尾 |
name[:] |
如果全部缺省,取全部 |
name[n:m:s] |
隔s个元素取一次; 步长是正数从左往右取; 步长是负数从右往左取 |
alist = [123, 'xyz', 'zara', 2018, 'only']
例子 | 输出结果 |
---|---|
alist[0] | 123 |
alist[-2] | 2018 |
alist[1:] | ['xyz', 'zara', 2018, 'only'] |
alist[:3] | [123, 'xyz', 'zara'] |
alist[1:3] | ['xyz', 'zara'] |
详细关于list、字符串、元组的切片还可以看自带方法 - data[ ] - 切片
sort() 用于对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数。
语法:list.sort(cmp=None, key=None, reverse=False)
参数 | 作用 |
---|---|
cmp | 可选参数, 如果指定了该参数会使用该参数的方法进行排序。 |
key | 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。 |
reverse | 排序规则,reverse = True 降序, reverse = False 升序(默认)。 |
alist = [123, 'xyz', 'zara', 2018, 'only']
alist.sort() #降序
alist.sort(reverse = True) #升序
使用reverse() 方法:用于反向列表中元素。
alist = [123, 'xyz', 'zara', 2018, 'only']
alist.reverse()
print(alist)
以上实例输出结果如下:
>>>['only', 2018, 'zara', 'xyz', 123]
map(方法名, 列表)
类似for循环
def f(x):
return x*x
data = map(f, [1, 2, 3])
for i in data:
print (i)
输出结果:
1
4
9
def f(self):
return self["id"]
data = map(f, [{"id":1},{"id":2}])
for i in data:
print(i)
输出结果:
1
2
## 差集
a = [(2, 'aa', 'dsad'), (3, 'cc', 'dada'), (0, 'ss', 'okok')]
b = [(2, 'aa', 'dsad')]
data = set(a).difference(set(b))
print(type(data))
print(data)
<class "set">
{(3, 'cc', 'dada'), (0, 'ss', 'okok')}
data2 = list(data)
print(type(data2))
print(data2)
<class "list">
[(3, 'cc', 'dada'), (0, 'ss', 'okok')]
## 并集
a = [(2, 'aa', 'dsad'), (3, 'cc', 'dada'), (0, 'ss', 'okok')]
b = [(2, 'aa', 'dsad')]
data = set(a).union(set(b))
print(type(data))
print(data)
<class "set">
{(2, 'aa', 'dsad'), (3, 'cc', 'dada'), (0, 'ss', 'okok')}
data2 = list(data)
print(type(data2))
print(data2)
<class "list">
[(2, 'aa', 'dsad'), (3, 'cc', 'dada'), (0, 'ss', 'okok')]
## 交集
a = [(2, 'aa', 'dsad'), (3, 'cc', 'dada'), (0, 'ss', 'okok')]
b = [(2, 'aa', 'dsad')]
data = set(a).intersection(set(b))
print(type(data))
print(data)
<class "set">
{(2, 'aa', 'dsad')}
data2 = list(data)
print(type(data2))
print(data2)
<class "list">
[(2, 'aa', 'dsad')]
seasons = ['Spring', 'Summer', 'Fall', 'Winter']
list(enumerate(seasons))
[(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
list(enumerate(seasons, start=1)) # 下标从 1 开始
[(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]
list1 = ['1',' ','2',' ','3','4',' ']
while ' ' in list1:
list1.remove(' ')
## ['1', '2', '3', '4']
python
整章节共122节
快分享给你的小伙伴吧 ~