python list的常用操作(二)

向列表添加、删除元素、修改元素

列表创建之后是不是就不可以改变了呢?当然不是,不然这个数据结构就没啥意义了。对于列表的更改操作,主要有添加元素、删除元素、修改元素,下面一一介绍。

添加元素

添加元素主要有append、extend、insert这几个方法,下面一一来看。

append函数顾名思义,就是在末尾加上元素。

调用方式为mylsit.append(something),这里的something可以是当个任何东西。

假设mylist=[1, 2, 3, 4, 5],来看看这些操作

mylist.append(100)

mylist.append(['a', 'b', 'c'])

mylist.append("hi buddy")

>>> mylist = [1, 2, 3, 4, 5]
>>> mylist.append(100)
>>> mylist
[1, 2, 3, 4, 5, 100]
>>> mylist.append(['a', 'b', 'c'])
>>> mylist
[1, 2, 3, 4, 5, 100, ['a', 'b', 'c']]
>>> mylist.append("hi buddy")
>>> mylist
[1, 2, 3, 4, 5, 100, ['a', 'b', 'c'], 'hi buddy']
>>> 

可见,append会把里面的东西作为一个整体,追加到list后面。

extend函数跟append有点像,都是在列表后面添加元素,不同的是,extend是把后面的元素全部拆开,一个一个的放到列表里面,并且里面的元素是可以枚举的,不然无法拆开。

假设mylist=[1, 2, 3, 4, 5],来看看这些操作

mylist.extend(100)#不能拆解,会报错

mylist.extend((100,))#变成一个元素的元组,可以拆解

mylist.extend(['a', 'b', 'c'])

mylist.extend("hi buddy")

>>> mylist.extend(100)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'int' object is not iterable
>>> mylist.extend((100,))
>>> mylist
[1, 2, 3, 4, 5, 100]
>>> mylist.extend(['a', 'b', 'c'])
>>> mylist
[1, 2, 3, 4, 5, 100, 'a', 'b', 'c']
>>> mylist.extend("hi buddy")
>>> mylist
[1, 2, 3, 4, 5, 100, 'a', 'b', 'c', 'h', 'i', ' ', 'b', 'u', 'd', 'd', 'y']
>>> 

再来看看insert函数,这个函数很灵活,可以在数组的任意地方插入一个元素,所以,使用这个函数的时候,你要指定一个位置,告诉这个函数在哪里插入元素,同样,这里的元素可以是单个的,也可以是列表、元组等等的数据结构。在插入的时候,新的元素是放在指定的位置前面。

假设mylist=[1, 2, 3, 4, 5],来看看这些操作。

#在第四个元素前面插入一个元素

mylist.insert(3, 500)

mylist.insert(0, "hi, i am the first element")

mylist.insert(2, "here i am")

mylist.insert(1,{'one': '一', 'two':'二', 'three':'三', 'four':'四', 'five':'五'})

>>> mylist.instert(3, 500)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'list' object has no attribute 'instert'
>>> mylist.insert(3, 500)
>>> mylist
[1, 2, 3, 500, 4, 5]
>>> mylist.insert(0, "hi, i am the first element")
>>> mylist
['hi, i am the first element', 1, 2, 3, 500, 4, 5]
>>> mylist.insert(2, 'here i am')
>>> mylist
['hi, i am the first element', 1, 'here i am', 2, 3, 500, 4, 5]
>>> mylist.insert(1,{'one': '一', 'two':'二', 'three':'三', 'four':'四', 'five':'五'})
>>> mylist
['hi, i am the first element', {'four': '\xe5\x9b\x9b', 'three': '\xe4\xb8\x89', 'five': '\xe4\xba\x94', 'two': '\xe4\xba\x8c', 'one': '\xe4\xb8\x80'}, 1, 'here i am', 2, 3, 500, 4, 5]

对于这三个函数,你可以针对不同的场景来使用,如果是要把插入元素作为整体放进数组的,那么可以用append和insert,如果是要把插入的数据拆解为一个个独立元素的,那么就用extend。如果只是在末尾追加元素,用append或者extend会更好,如果是在列表中间找个地方来放元素,那么就用insert吧~

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值