列表的extend与append的区别?以下程序运行结果是什么? ls = [1,2,3,4] ls.extend(5) ls.append(5) ls.append([5]) ls.extend([5])
时间: 2024-09-25 18:11:21 浏览: 30
python中append实例用法总结
列表的`extend`和`append`都是用于向列表添加元素,但它们之间有区别:
1. `append()`方法用于在列表的末尾直接添加单个元素,例如一个整数、字符串或其他可迭代对象。它返回None,不会改变原列表,只是更新了列表。
```python
ls = [1, 2, 3, 4]
ls.append(5) # ls 现在是 [1, 2, 3, 4, 5]
```
2. `extend()`方法则是用于将另一个列表、元组、集合等可迭代对象的所有元素追加到当前列表的末尾。它会遍历传入的对象并将每个元素添加,返回值也是None。
```python
ls = [1, 2, 3, 4]
ls.extend([5]) # ls 现在是 [1, 2, 3, 4, 5]
```
对于提供的程序:
```python
ls = [1, 2, 3, 4]
ls.extend(5) # 这里应该是将5作为单独的一个元素追加,但Python会先将其转换成[5],所以 ls现在是 [1, 2, 3, 4, [5]]
ls.append(5) # 这会把5作为单个元素添加到列表最后,所以 ls现在是 [1, 2, 3, 4, [5], 5]
ls.append([5]) # 这样会将整个列表[5]添加到末尾,所以 ls现在是 [1, 2, 3, 4, [5], 5, [5]]
ls.extend([5]) # 再次添加列表[5],相当于两次添加,ls现在是 [1, 2, 3, 4, [5], 5, [5], 5]
```
阅读全文