欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Python入门之列表-列表的常规操作1

程序员文章站 2022-05-01 16:31:19
...

列表的常规操作包括增加、删除、插入新的元素,遍历、判定、反转、乱序等,Python中有些自带的函数,我们可以利用这些函数来实现列表的常规操作。

# 以下代码运行环境为Python3
# 列表的常规操作
# 1、增加元素
# name.append(object)  往列表中增加一个新的元素object在列表的最后,注意会修改原列表
list0 = [1, 2, 3, 4]
list0.append(6)
print(list0)         # 结果为[1, 2, 3, 4, 6]

# 2、插入元素
# name.insert(index, object)  在索引index之前插入一个新的元素object,会直接修改原列表
list1 = [1, 2, 3, 4]
list1.insert(1, 8)
print(list1)         # 结果为[1, 8, 2, 3, 4]

# 3、扩展可迭代序列
# name.extend(iterable)  把一个可迭代序列增加到原列表的后面,会修改原列表
list1 = [1, 2, 3, 4]
list2 = ["a", "b", "c"]
list1.extend(list2)
print(list1)         # 结果为[1, 2, 3, 4, 'a', 'b', 'c']

# 4、乘法运算,会使列表重复多次,但不会修改原列表,注意不能将列表与列表直接相乘
list1 = [1, 2]
print(list1 * 3)   # 结果为[1, 2, 1, 2, 1, 2]

# 5、加法操作:将两个列表拼接在一块,与extend()函数相似,但又有所区别,
# 加法不会改变原列表,但extend()会改变原列表
list1 = [1, 2]
list2 = ["a", "b"]
print(list1 + list2)   # 结果为[1, 2, 'a', 'b']
list1.extend(list2)
print(list1)          # 结果为[1, 2, 'a', 'b']
list1 = [1, 2]
str = "abc"
list1.extend(str)
print(list1)         # 结果为[1, 2, 'a', 'b', 'c']
# extend()会把字符串中每个字符拆分后加在列表后面
list1 = [1, 2]
print(list1 + str)   # 报错!
# 因为不同类型不能做加法,这是列表中加法运算与extend()函数的一个很大区别

# 6、删除操作
# 6.1、del 语句可以删除列表中的指定元素,也可以删除整个列表
list1 = [3, 8, 9, 10]
del list1[1]   # 删除列表中某个元素时只需要指明元素的下标即可
print(list1)   # 结果为[3, 9, 10],删除了列表中的第二个元素
del list1      # 删除整个列表
# 6.2、name.pop(index)移除列表中指定元素并返回删除的元素,
# index是删除的元素的下标,默认为-1,即移除列表中最后一位
list1 = [3, 8, 9, 10]
result = list1.pop(1)  # 返回被删除的元素
print(result, list1)   # 结果为8 [3, 9, 10]
# 6.3、name.remove(object) 删除列表中指定元素,object为指定元素,返回None,
# 若列表中存在多个相等的指定元素则删除最左边的一个
list1 = [3, 8, 3, 9, 10]
result = list1.remove(3)  # 返回None
print(result, list1)   # 结果为None [8, 3, 9, 10]
# 若要删除列表中数值特定的所有元素,如果用循环删除时一定要注意执行一次remove操作之后列表
# 会发生改变,可能不能把所有特定值的的元素全删除,如以下的例子
list1 = [1, 2, 2, 3, 4, 2]
for num in list1:
    if num == 2:
        list1.remove(2)  
print(list1)   # 结果为[1, 3, 4, 2],最后一个元素并没有被删除,
# 因为执行一次remove后原列表会发生改变,且每次remove只删除最左边的指定数值的元素

# 7、改指定的元素,可以直接利用要改的元素的下标进行修改,即name[index] = object
list1 = [3, 8, 9, 10]
list1[1] = "a"  # 把列表中的8改为a
print(list1)   # 结果为[3, 'a', 9, 10]