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()也不會全部刪除,只會刪除其中一個。但是刪除哪一個,好像沒什麼規律。今日夜深,留個眼,此處注意一下。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章