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

列表的常规操作包括增加、删除、插入新的元素,遍历、判定、反转、乱序等,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]

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值