python中的列表及相关操作

列表

列表是python中存储有序数据的一种容器。列表可以同时存储多个数据,数据与数据之间可以重复出现,数据之间不要求类型相同。

1.构造列表

列表的构造有两种方法。直接构造列表和使用list()函数构造列表。

1.1.直接构造列表

newList = [1, 2, 3, 4, 5]
print(newList)

执行结果如下,

[1, 2, 3, 4, 5]

可以看到我们构造了一个包含五个元素的列表。

1.2.使用list()函数构造列表

newList = list("hello world")
print(newList)

执行结果如下,

['h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd']

2.列表的下标、取值和修改

列表是一个存储有序序列的容器。对于列表中的每一个元素,都有各自的下标。
例如,对于list1 = [1, 2, 3, 4, 5, 6, 7],它的下标如下,

        -7 -6 -5 -4 -3 -2 -1  从右向左
list1 = [1, 2, 3, 4, 5, 6, 7]
从左向右  0  1  2  3  4  5  6

我们可以看到下标有两种表示方法,从左向右和从右向左。
从左向右以0为开头,从右向左以-1为开头。

我们了解元素的下表后就可以通过元素下标进行取值和修改。
取值的语法:列表名[下标]
修改的语法:列表名[索引] =新的元素值

例如,我们取出list1中的3这个值,并将其修改为30。

list1 = [1, 2, 3, 4, 5, 6, 7]
print(list1[2])
list1[2] = 30
print(list1)

执行结果如下,

3
[1, 2, 30, 4, 5, 6, 7]

3.列表的遍历

我们常用的列表遍历方式有两种。分别为for-in遍历和使用下标遍历。

3.1.for-in遍历

for-in 遍历的语法为,

for 变量名 in 列表:
    语句块

例如,我们遍历list1这个列表中的每一个元素,

list1 = [1, 2, 3, 4, 5, 6, 7]
for value in list1:
    print(value, end=' ')

执行结果如下,

1 2 3 4 5 6 7

使用这种方法遍历列表是无法修改列表的值的。
例如,

list1 = [1, 2, 3, 4, 5, 6, 7]
for value in list1:
    value += 10
    print(value, end="  ")
print()
print(list1)

运行结果如下,

11  12  13  14  15  16  17  
[1, 2, 3, 4, 5, 6, 7]

我们可以看到列表中元素的值并没有改变。

3.2.下标遍历

为了可以在遍历列表的同时修改列表中元素的值,我们必须要使用下标遍历。

使用下标遍历,我们会使用到len()函数和range()函数。

len()函数可以返回列表的长度(元素个数)。
例如,

list1 = [1, 2, 3, 4, 5, 6, 7]
print(len(list1))

执行结果如下,

7

range()函数可以用来构造下标序列。
range()函数的语法:range(start, end, step),其中start默认值为0,step默认值为1。
例如,我们要构造一个0到100的下标序列,

range(0, 101, 1)

range()函数包头不包尾,end值不会出现。

我们演示使用len()函数和range()函数遍历list1,并将每一个元素加100。

list1 = [1, 2, 3, 4, 5, 6, 7]
for i in range(len(list1)):
    print(list1[i], end=" ")
    list1[i] += 100
print()
print(list1)

运行结果如下,

1 2 3 4 5 6 7 
[101, 102, 103, 104, 105, 106, 107]

4.序列的通用操作

4.1.列表的组合

可以使用加号(+)将两个列表拼接成一个列表。
例如,

list1 = [1, 2, 3]
list2 = [4, 5, 6]
res = list1 + list2
print(res)

运行结果如下,

[1, 2, 3, 4, 5, 6]

4.2.列表的重复

使⽤乘号(*)可以使列表内容重复指定遍数,产⽣⼀个新列表。
例如,

res = list1 * 3
print(res)

运行结果如下,

[1, 2, 3, 1, 2, 3, 1, 2, 3]

4.3.成员判断

in 和 not in 可以判断元素是否在列表中。

list1 = [1, 2, 3, 4, 5, 6]
print(1 in list1)
print(10 in list1)
print(2 not in list1)
print(20 not in list1)

运行结果如下,

True
False
False
True

4.4.切片

切片运算可以获取子列表。
切片的语法:列表名[start=0: end: step=1],其中start默认值是0;end默认值是列表长度。
step如果是正数,表示从左向右切,负数表示从右向左切,默认值是1。
切片包头不包尾。

例如,对于list1 = [10, 20, 30, 40, 50, 60, 70, 80]这个列表,我们分别取前两个元素和后两个元素。

list1 = [10, 20, 30, 40, 50, 60, 70, 80]
print(list1[0:2])
print(list1[-1:-3:-1])

运行结果如下,

[10, 20]
[80, 70]

5.列表的操作

5.1.增加元素

增加列表元素可以使用append()函数、extend()函数或者insert()函数。

list.append(obj)可以在列表末尾添加新的元素。
list.extend(obj)可以在列表的末尾⼀次性追加另⼀个列表中的元素。
list.insert(i,obj)可以在指定下标i的位置插⼊⼀个新元素,原来的元素后移,不会覆盖。

5.2.删除元素

删除列表元素可以使用pop()函数、remove()函数或者clear()函数。

list.pop(i)可以删除指定下标的元素,如果下标越界,会出现IndexError警告。
list.remove(x)可以删除列表中第⼀个值等于x的元素,删除的时候是从左向右找到第⼀个等于x的元素删除。
list.clear()可以清空列表。

5.3.查找元素

查找列表元素可以使用index()函数或者count()函数。

list.index(x,start,end)可以在[start end)范围内查找第⼀个等于x的元素的下标。
list.count(x)可以查找列表中x出现的次数,如果没有x,返回0。

5.4.列表反转和列表排序

列表反转可以使用reverse()函数。
列表排序可以使用sort()函数。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值