Python容器列表(Lists)簡(jiǎn)介
列表的基本用法Python中的列表(list)相當(dāng)于一個(gè)數(shù)組,但這個(gè)數(shù)組的大小是可以改變的,其中的元素的類型也可以不同。你可以通過(guò)以下方式來(lái)創(chuàng)建一個(gè)列表:```pythonxs [3, 1, 2]
列表的基本用法
Python中的列表(list)相當(dāng)于一個(gè)數(shù)組,但這個(gè)數(shù)組的大小是可以改變的,其中的元素的類型也可以不同。你可以通過(guò)以下方式來(lái)創(chuàng)建一個(gè)列表:
```python
xs [3, 1, 2] # 創(chuàng)建一個(gè)列表
print(xs, xs[0]) # 打印 "[3, 1, 2] 3"
print(xs[-1]) # 負(fù)索引從列表末尾開(kāi)始計(jì)算,打印 "2"
xs[2] 'foo' # 列表可以包含不同類型的元素
print(xs) # 打印 "[3, 1, 'foo']"
('bar') # 在列表末尾添加一個(gè)新元素
print(xs) # 打印 "[3, 1, 'foo', 'bar']"
x xs.pop() # 移除并返回列表末尾的元素
print(x, xs) # 打印 "bar [3, 1, 'foo']"
```
輸出的結(jié)果如下:
```
[3, 1, 2] 3
[3, 1, 'foo']
[3, 1, 'foo', 'bar']
bar [3, 1, 'foo']
```
獲取列表的子列表
Python提供了一種簡(jiǎn)潔的語(yǔ)法來(lái)獲取列表的子列表(sublists)。你可以使用類似于matlab的語(yǔ)法來(lái)實(shí)現(xiàn)。例如:
```python
nums list(range(5)) # range是一個(gè)內(nèi)置函數(shù),用于創(chuàng)建一個(gè)整數(shù)列表
print(nums) # 打印 "[0, 1, 2, 3, 4]"
print(nums[2:4]) # 獲取索引為2到4(不包括4)的子列表,打印 "[2, 3]"
print(nums[2:]) # 獲取從索引為2到末尾的子列表,打印 "[2, 3, 4]"
print(nums[:2]) # 獲取從開(kāi)始到索引為2(不包括2)的子列表,打印 "[0, 1]"
print(nums[:]) # 獲取整個(gè)列表的子列表,打印 "[0, 1, 2, 3, 4]"
print(nums[:-1]) # 使用負(fù)索引獲取子列表,打印 "[0, 1, 2, 3]"
nums[2:4] [8, 9] # 將一個(gè)新的子列表賦值給指定的切片
print(nums) # 打印 "[0, 1, 8, 9, 4]"
```
輸出結(jié)果如下:
```
[0, 1, 2, 3, 4]
[2, 3]
[2, 3, 4]
[0, 1]
[0, 1, 2, 3, 4]
[0, 1, 8, 9, 4]
```
循環(huán)遍歷列表
在Python中,你可以使用以下方式對(duì)列表中的所有元素進(jìn)行遍歷:
```python
animals ['cat', 'dog', 'monkey']
for animal in animals:
print(animal)
```
通過(guò)循環(huán)的方式,你可以對(duì)列表中的元素進(jìn)行快速變換,生成一個(gè)新的列表。例如:
```python
nums [0, 1, 2, 3, 4]
squares []
for x in nums:
(x 2)
print(squares) # 打印 "[0, 1, 4, 9, 16]"
```
以上代碼可以簡(jiǎn)化成:
```python
nums [0, 1, 2, 3, 4]
squares [x 2 for x in nums]
print(squares) # 打印 "[0, 1, 4, 9, 16]"
```
循環(huán)遍歷列表并加入條件
在循環(huán)遍歷列表的過(guò)程中,你還可以加入條件語(yǔ)句。例如:
```python
nums [0, 1, 2, 3, 4]
even_squares [x 2 for x in nums if x % 2 0]
print(even_squares) # 打印 "[0, 4, 16]"
```
通過(guò)以上介紹,你應(yīng)該能夠理解Python中列表的基本用法、如何獲取子列表、循環(huán)遍歷列表以及在循環(huán)中使用條件語(yǔ)句的方法了。