實(shí)際開發(fā)中,經(jīng)常需要對列表進(jìn)行更新,包括向列表中添加元素、修改表中元素以及刪除元素。本節(jié)先來學(xué)習(xí)如何向列表中添加元素。
通過前面的學(xué)習(xí)我們知道,通過使用“+”運(yùn)算符可以將多個(gè)序列進(jìn)行連接,列表也不例外,例如:
- name = ["C語言中文網(wǎng)"]
- address = ["http://c."]
- print(name+address)
運(yùn)行結(jié)果為:
['C語言中文網(wǎng)', 'http://c.']
可以看到,使用“+”運(yùn)算符,確實(shí)可以像列表中添加元素。但是這種方式的執(zhí)行效率并不高,更建議大家使用列表提供的 append() 方法。
Python append()方法添加元素
append() 方法用于在列表的末尾追加元素,該方法的語法格式如下:
listname.append(obj)
其中,listname 指的是要添加元素的列表;obj 表示到添加到列表末尾的數(shù)據(jù),它可以是單個(gè)元素,也可以是列表、元組等。
例如:
- a_list = ['crazyit', 20, -2]
- # 追加元素
- a_list.append('fkit')
- print(a_list)
- a_tuple = (3.4, 5.6)
- # 追加元組,元組被當(dāng)成一個(gè)元素
- a_list.append(a_tuple)
- print(a_list)
- # 追加列表,列表被當(dāng)成一個(gè)元素
- a_list.append(['a', 'b'])
- print(a_list)
運(yùn)行結(jié)果為:
['crazyit', 20, -2, 'fkit']
['crazyit', 20, -2, 'fkit', (3.4, 5.6)]
['crazyit', 20, -2, 'fkit', (3.4, 5.6), ['a', 'b']]
可以看到,即便給 append() 方法傳遞列表或者元組,此方法也只會(huì)將其視為一個(gè)元素,直接添加到列表中,從而形成包含列表和元組的新列表。
Python extend()方法添加元素
當(dāng)然,如果希望不將被追加的列表或元組當(dāng)成一個(gè)整體,而是只追加列表中的元素,則可使用列表提供的 extend() 方法。
extend()方法的語法格式如下:
listname.extend(obj)
例如:
- b_list = ['a', 30]
- # 追加元組中的所有元素
- b_list.extend((-2, 3.1))
- print(b_list)
- # 追加列表中的所有元素
- b_list.extend(['C', 'R', 'A'])
- print(b_list)
- # 追加區(qū)間中的所有元素
- b_list.extend(range(97, 100))
- print(b_list)
運(yùn)行結(jié)果為:
['a', 30, -2, 3.1]
['a', 30, -2, 3.1, 'C', 'R', 'A']
['a', 30, -2, 3.1, 'C', 'R', 'A', 97, 98, 99]
Python insert()方法插入元素
如果希望在列表中間增加元素,則可使用列表的 insert() 方法,此方法的語法格式為:
listname.insert(index , obj)
其中,index 參數(shù)指的是將元素插入到列表中指定位置處的索引值。
使用 insert() 方法向列表中插入元素,和 append() 方法一樣,無論插入的對象是列表還是元組,都只會(huì)將其整體視為一個(gè)元素。
例如:
- c_list = list(range(1, 6))
- print(c_list)
- # 在索引3處插入字符串
- c_list.insert(3, 'CRAZY' )
- print(c_list)
- # 在索引3處插入列表
- c_list.insert(3, ["crazy"])
- print(c_list)
輸出結(jié)果為:
[1, 2, 3, 4, 5]
[1, 2, 3, 'CRAZY', 4, 5]
[1, 2, 3, ['crazy'], 'CRAZY', 4, 5]
注意,insert() 主要用來插入元素,當(dāng)向列表末尾添加元素時(shí),還是應(yīng)該使用 append() 方法。
|