1. 程式人生 > >python之list

python之list

元組 字符串 rem 添加 不變 type enum rev 一次

python中list是一個序列(字符串和元組也是序列),有下標,可以切片,拼接等,list也是一個可變數據類型,即可以修改list的元素的值且list的內存地址不變。

一.list的定義和遍歷使用

list使用中括號[]來定義

numbers = ["one", "two", "three", "four", "five"]
print(type(numbers))
print(numbers)

輸出結果如下
<class list>
[one, two, three, four, five]

由<class ‘list‘>可看出numbers是一個list列表數據類型,有5個元素,可以直接print打印所有元素

遍歷list列表

# 列表遍歷
for i in numbers:
    print(i, end=" ")
print()

for i, j in enumerate(numbers):
    print(i, j)

輸出結果如下
one two three four five 
0 one
1 two
2 three
3 four
4 five

使用for in結構可以遍歷list列表中的每一個成員

enumerate()函數可以同時顯示元素在列表中的下標。

二.列表的切片和倒序

列表的切片和str字符串一樣,使用list[起始位置:結束位置]

可以切取從其實位置下標開始到結束位置下標的前一個元素,起始位置和結束位置可以都不寫或寫一個

先看一下切片示例

numbers = ["one", "two", "three", "four", "five"]

# 列表切片
print(numbers[1:2])
print(numbers[:3])
print(numbers[:])
print(numbers[::2])
print(numbers[1::-1])
print(numbers[::-2])

輸出結果如下:
[two]
[one, two, three]
[one, 
two, three, four, five] [one, three, five] [two, one] [five, three, one]

列表的倒序

通過list本身的方法和切片實現

numbers = ["one", "two", "three", "four", "five"]

# 列表倒序
print(numbers[::-1])
numbers.reverse()
print(numbers)

輸出結果如下
[five, four, three, two, one]
[five, four, three, two, one]

三.list的常用操作

列表是可變數據類型,也就是說list中的元素值可以修改,修改後查看list的內存地址是不變的;字符串是不可變數據類型,雖然字符串變量的值也可以修改,但其實是在內存中重新開辟了一塊空間保存新的字符串,並將字符串變量指向新的地址,所以字符串修改後內存地址是改變的。

# 驗證字符串是可變數據類型
print
(id(numbers)) # 打印numbers列表在解釋器中的內存地址 numbers.reverse() # 將列表反轉 print(numbers) # 反轉後打印列表成員 print(id(numbers)) # 再打印numbers列表在解釋器中的內存地址,和上一次未修改前比較相同,說明列表是可變數據類型 輸出結果如下 1863920966280 [4, 3, 2, 1] 1863920966280

由於list是可變數據類型,所以有添加,修改,刪除成員等操作

numbers = [1, 2, 3, 4]

# list添加成員
numbers.append(5)   # 添加成員5到列表最後
print(numbers)
numbers.insert(1, 0)    # 在列表下標為1的位置添加成員0
print(numbers)

輸出結果如下
[1, 2, 3, 4, 5]
[1, 0, 2, 3, 4, 5]
numbers = [1, 2, 3, 4]

# list刪除成員
del numbers[0]      # 刪除下標0位置的元素,此時numbers = [2, 3, 4]
numbers.remove(2)   # 刪除元素2,此時numbers = [3, 4]
numbers.pop(0)      # 刪除下標0位置的元素,此時numbers = [4]
print(numbers)      # 打印numbers = [4]
# del numbers       # 把列表都刪掉了

輸出結果如下
[4]
numbers = [1, 2, 3, 4]

# list 修改元素值
numbers[0] = "one"  # 將下標0位置的元素重新賦值為"one"
print(numbers)      # 打印numbers = ["one", 2, 3, 4]

輸出結果如下
[one, 2, 3, 4]
# 列表其他操作

numbers = [1, 2, 3, 4]

# list 查詢成員
print(numbers[0])

# list元素個數
print(numbers.__len__())
print(len(numbers))

輸出結果如下
1
4
4

四.小結

type      獲取數據類型

id       查看在解釋器中的內存地址

reverse()    列表反轉

append(e)    添加成員到列表尾部

insert(index, e) 在指定下標位置插入元素

remove(e)   刪除元素e

del e      刪除元素e

pop(index)   刪除指定下標位置的元素

len()     求列表的元素個數

__len__()   求列表的元素個數

python之list