Update 06. 列表.md
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
# 列表
|
||||
|
||||
# 列表
|
||||
|
||||
简单数据类型
|
||||
- 整型`<class 'int'>`
|
||||
- 浮点型`<class 'float'>`
|
||||
@@ -157,7 +159,8 @@ print(x, type(x))
|
||||
【例子】
|
||||
```python
|
||||
mix = [1, 'lsgo', 3.14, [1, 2, 3]]
|
||||
print(mix) # [1, 'lsgo', 3.14, [1, 2, 3]]
|
||||
print(mix, type(mix))
|
||||
# [1, 'lsgo', 3.14, [1, 2, 3]] <class 'list'>
|
||||
```
|
||||
|
||||
|
||||
@@ -166,7 +169,7 @@ print(mix) # [1, 'lsgo', 3.14, [1, 2, 3]]
|
||||
【例子】
|
||||
```python
|
||||
empty = []
|
||||
print(empty) # []
|
||||
print(empty, type(empty)) # [] <class 'list'>
|
||||
```
|
||||
|
||||
列表不像元组,列表内容可更改 (mutable),因此附加 (`append`, `extend`)、插入 (`insert`)、删除 (`remove`, `pop`) 这些操作都可以用在它身上。
|
||||
@@ -214,7 +217,7 @@ print(len(x)) # 7
|
||||
|
||||
严格来说 `append` 是追加,把一个东西整体添加在列表后,而 `extend` 是扩展,把一个东西里的所有元素添加在列表后。
|
||||
|
||||
- `list.insert(index, obj)` 在编号 `index` 位置前插入 `obj`。
|
||||
- `list.insert(index, obj)` 在编号 `index` 位置插入 `obj`。
|
||||
|
||||
【例子】
|
||||
|
||||
@@ -266,6 +269,8 @@ print(x) # ['Tuesday', 'Thursday']
|
||||
|
||||
如果知道要删除的元素在列表中的位置,可使用`del`语句。
|
||||
|
||||
|
||||
|
||||
```python
|
||||
x = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
|
||||
del x[0:2]
|
||||
@@ -283,10 +288,10 @@ print(x) # ['Wednesday', 'Thursday', 'Friday']
|
||||
【例子】
|
||||
|
||||
```python
|
||||
x = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
|
||||
x = ['Monday', 'Tuesday', 'Wednesday', ['Thursday', 'Friday']]
|
||||
print(x[0], type(x[0])) # Monday <class 'str'>
|
||||
print(x[-1], type(x[-1])) # Friday <class 'str'>
|
||||
print(x[-2], type(x[-2])) # Thursday <class 'str'>
|
||||
print(x[-1], type(x[-1])) # ['Thursday', 'Friday'] <class 'list'>
|
||||
print(x[-2], type(x[-2])) # Wednesday <class 'str'>
|
||||
```
|
||||
|
||||
|
||||
@@ -331,15 +336,9 @@ print(week[-3:-1]) # ['Wednesday', 'Thursday']
|
||||
|
||||
```python
|
||||
week = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
|
||||
print(week[1:4:2])
|
||||
# ['Tuesday', 'Thursday']
|
||||
|
||||
print(week[:4:2])
|
||||
# ['Monday', 'Wednesday']
|
||||
|
||||
print(week[1::2])
|
||||
# ['Tuesday', 'Thursday']
|
||||
|
||||
print(week[1:4:2]) # ['Tuesday', 'Thursday']
|
||||
print(week[:4:2]) # ['Monday', 'Wednesday']
|
||||
print(week[1::2]) # ['Tuesday', 'Thursday']
|
||||
print(week[::-1])
|
||||
# ['Friday', 'Thursday', 'Wednesday', 'Tuesday', 'Monday']
|
||||
```
|
||||
@@ -352,11 +351,15 @@ print(week[::-1])
|
||||
```python
|
||||
week = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
|
||||
print(week[:])
|
||||
# week的拷贝 ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
|
||||
# ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
|
||||
```
|
||||
|
||||
【例子】浅拷贝与深拷贝
|
||||
```
|
||||
list1 = [123, 456, 789, 213]
|
||||
list2 = list1
|
||||
list3 = list1[:]
|
||||
|
||||
print(list2) # [123, 456, 789, 213]
|
||||
print(list3) # [123, 456, 789, 213]
|
||||
list1.sort()
|
||||
@@ -384,7 +387,7 @@ print(list3) # [[111, 456], [789, 213]]
|
||||
|
||||
「等号 ==」,只有成员、成员位置都相同时才返回True。
|
||||
|
||||
和元组拼接一样, 列表拼接也有两种方式,用「加号 +」和「乘号 *」,前者首尾拼接,后者复制拼接。
|
||||
列表拼接有两种方式,用「加号 +」和「乘号 *」,前者首尾拼接,后者复制拼接。
|
||||
|
||||
|
||||
【例子】
|
||||
@@ -411,7 +414,7 @@ print(456 not in list3) # False
|
||||
```
|
||||
|
||||
前面三种方法(`append`, `extend`, `insert`)可对列表增加元素,它们没有返回值,是直接修改了原数据对象。
|
||||
将两个list相加,需要创建新的 list 对象,从而需要消耗额外的内存,特别是当 list 较大时,尽量不要使用 “+” 来添加list。
|
||||
而将两个list相加,需要创建新的 list 对象,从而需要消耗额外的内存,特别是当 list 较大时,尽量不要使用 “+” 来添加list。
|
||||
|
||||
## 7. 列表的其它方法
|
||||
|
||||
|
||||
Reference in New Issue
Block a user