Python列表的增删改查

1 快速应用

快速应用是给需要快速解决问题,赞不细究原理的朋友准备的。

1.1 增

1.1.1 append()

  • 例子
girls=['cjk','lzll','xzmly']
girls.append('ks')
print(girls)
##结果返回
['cjk', 'lzll', 'xzmly', 'ks']
  • 结论
    append()函数是给列表末尾加函数

1.1.2 insert()

  • 例子
girls=['cjk','lzll','xzmly']
girls.insert(1,'ks')
print(girls)
##结果返回
['cjk', 'ks', 'lzll', 'xzmly']
  • 结论
    insert()函数可以给列表任何位置添加元素

1.2 改

这个没什么好说的,直接看例子就行

  • 例子
girls=['cjk','lzll','xzmly']
girls[2]='ks'
print(girls)
##结果返回
['cjk', 'lzll', 'ks']

1.3 查

也没什么好细究的,直接看例子

  • 例子
girls=['cjk','lzll','xzmly']
print(girls[0])
##结果返回
'cjk'

1.4 删

1.4.1 del

  • 例子
girls=['cjk','lzll','xzmly']
del girls[1]
print(girls)
##结果返回
['cjk', 'xzmly']
  • 结论
    del 可以删除列表中任何位置元素,只要知道其索引

1.4.2 remove()

  • 例子
girls=['cjk','lzll','xzmly']
girls.remove('cjk')
print(girls)
##结果返回
['lzll', 'xzmly']
  • 结论
    remove()可以根据列表元素的值进行删除,无需知道其索引

1.4.3 pop()

  • 例子
girls=['cjk','lzll','xzmly']
print(girls.pop(1))
print(girls)
##结果返回
lzll
['cjk', 'xzmly']
  • 结论
    pop()可以删除制定索引的元素,而且还能在删除的时候将元素返回出来

2 了解一下

一些自己心得,有则多,无则少。

2.1 增

2.1.1 append()

  • 例子
girls=['cjk','lzll','xzmly']
girls.append('ks')
print(girls)
##结果返回
['cjk', 'lzll', 'xzmly', 'ks']
  • 结论
    append()函数是给列表末尾加函数,从这个函数就可以推断出列表是有序的。如果无序,这个函数也没有什么意义了,刚刚加到最后面,最后重新加载一下,新入的元素又跑到其他位置了。善用这个特性,可以大大加快程序效率。
    例如编写一个游戏,需要按顺序杀怪,就可以把怪物用这个函数按顺序加到怪物列表里,每一次的怪都比上一次厉害一点。但是保证都是按顺序进入游戏。

2.1.2 insert()

  • 例子
girls=['cjk','lzll','xzmly']
girls.insert(1,'ks')
print(girls)
##结果返回
['cjk', 'ks', 'lzll', 'xzmly']
  • 结论
    insert()函数是给列表插入元素,比append就灵活很多,第一个参数是要插入的位置,第二个参数是插入元素的,也是要写位置的。再次说明,python列表是有序的。

2.2 删的总结

函数名称 用法 场景
del del girls[0] 直接干掉,人狠话不多,不留尸体
remove() girls.remove(‘cjk’) 不知道你家住哪,但是知道你叫啥,一样能干掉你,不留尸体
pop() girls.pop(1) 这个不太好打比方,也是干掉了,但是留下尸体了

2.2.1 pop()再深入

运用场景,这个删之前能返回一下被删的究竟有什么用处呢。有前两个,一个找索引,一个找名称删还不够吗,还要pop()?
我们设想一个场景:
例如,有个怪物的列表,我可能需要获取刚刚被射杀的怪物的X,Y座标,以便在相应位置显示爆炸效果。这个时候就用到了pop()函数。剔除改怪物的同时,返回其座标。
另外pop()的参数是索引,非必填,若不填,默认删除最后一个。(version: python-3.6.5 )

2.2.2 remove()删除列表中值的时候,该值有多个,会怎么样

  • 例子1
girls=['cjk','lzll','xzmly','xzmly','xzmly']
girls.remove('xzmly')
print(girls)
##结果返回
['cjk', 'ks', 'lzll', 'xzmly']
  • 例子2
girls=['cjk','lzll','xzmly','cjk']
girls.remove('cjk')
print(girls)
##结果返回
['lzll', 'xzmly', 'cjk']
  • 结论
    看来即使有多个,remove()也不会全部删除,只会删除其中一个。但是删除哪一个,好像没什么规律。今日夜深,留个眼,此处注意一下。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章