Python学习1---列表List

列表基础

列表的值

在这里插入图片描述
在这里插入图片描述

截取字符

在这里插入图片描述

更改列表

append()
del()
截取与拼接

>>>squares = [1, 4, 9, 70, 25]
>>> squares += [36, 49, 64, 81, 100]
>>> squares
[1, 4, 9, 70, 25, 36, 49, 64, 81, 100]
>>>
>>>a = ['a', 'b', 'c']
>>> n = [1, 2, 3]
>>> x = [a, n]
>>> x
[['a', 'b', 'c'], [1, 2, 3]]
>>> x[0]
['a', 'b', 'c']
>>> x[0][1]
'b'

函数与方法

函数描述
len(list)列表元素个数
max(list)最大值
min(list)最小值
list(seq)将元组转换为列表
方法描述
list.append(obj)末尾添加新的对象
list.count(obj)某个元素在列表中出现的次数
list.index(obj)列表中找出某个值第一个匹配的索引位置
list.remove(obj)移除列表中某个值的第一个匹配项
list.pop([i])从列表的指定位置移除元素,并将其返回。如果没有指定索引,a.pop()返回最后一个元素。元素随即从列表中被移除。
list.reverse()反向列表中元素
list.sort()对原列表进行排序
list.clear()清空列表
list.copy()复制列表

数据结构

列表—堆栈

最先进入的元素最后一个被释放(后进先出)

>>> stack = [3, 4, 5]
>>> stack.append(8)
>>> stack.append(7)
>>> stack
[3, 4, 5, 8, 7]

>>> stack.pop()
7
>>> stack
[3, 4, 5, 8]

>>> stack.pop()
8
>>> stack.pop()
5
>>> stack
[3, 4]

列表—堆栈

最先进入的元素最后一个被释放(后进先出)

>>> stack = [3, 4, 5]
>>> stack.append(6)
>>> stack.append(7)
>>> stack
[3, 4, 5, 6, 7]

>>> stack.pop()
7
>>> stack
[3, 4, 5, 6]
>>> stack.pop()
6
>>> stack.pop()
5
>>> stack
[3, 4]

列表—推导式

>>> vec = [2, 4, 6]
>>> [3*x for x in vec]
[6, 12, 18]
>>> [[x, x**2] for x in vec]
[[2, 4], [4, 16], [6, 36]]
>>> [3*x for x in vec if x > 3]
[12, 18]
>>> [3*x for x in vec if x < 2]
[]
>>> vec1 = [2, 4, 6]
>>> vec2 = [4, 3, -9]
>>> [x*y for x in vec1 for y in vec2]
[8, 6, -18, 16, 12, -36, 24, 18, -54]
>>> [x+y for x in vec1 for y in vec2]
[6, 5, -7, 8, 7, -5, 10, 9, -3]
>>> [vec1[i]*vec2[i] for i in range(len(vec1))]
[8, 12, -54]

列表—嵌套列表

>>> matrix = [
...     [1, 2, 3, 4],
...     [5, 6, 7, 8],
...     [9, 10, 11, 12],
... ]


>>> [[row[i] for row in matrix] for i in range(4)]
>>>[[1, 5, 9], [2, 6, 10], [3, 7, 11], [4, 8, 12]]

使用以下方法来实现

>>> transposed = []
>>> for i in range(4):
...     transposed.append([row[i] for row in matrix])
...
>>> transposed

[[1, 5, 9], [2, 6, 10], [3, 7, 11], [4, 8, 12]]

或者方法

>>> transposed = []
>>> for i in range(4):
...     # the following 3 lines implement the nested listcomp
        transposed_row = []   
        for row in matrix:
            transposed_row.append(row[i])   
        transposed.append(transposed_row)

>>> transposed

[[1, 5, 9], [2, 6, 10], [3, 7, 11], [4, 8, 12]]

列表—del

它是根据索引(元素所在位置)来删除

>>> str=[1,2,3,4,5,2,6]
>>> del str[1]
>>> str
>>> [1, 3, 4, 5, 2, 6]

删除指定范围内的值

>>> str=[0,1,2,3,4,5,6]
>>> del str[2:4] #删除从第2个元素开始,到第4个为止的元素(但是不包括尾部元素)
>>> str
>>>[0, 1, 4, 5, 6]

也可以删除整个数据对象(列表、集合等)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值