Python 学习之列表 (list) 详解

本贴最后更新于 2495 天前,其中的信息可能已经物是人非

Python 中的 list 就是一个大杂烩 什么都可以放(我们知道的类型)
创建列表只需要用逗号(,)隔开在用方括号([])包含就可以了
Python 有 6 个序列的内置类型,但最常见的是列表和元组。
序列都可以进行的操作包括索引,切片,加,乘,检查成员
列表索引从 0 开始。列表可以进行截取、组合
使用下标索引来访问列表中的值

list 基本知识

  
  
  

向列表添加元素


#### 从列表删除元素 - [x] **remove()语法介绍 remove()示例** - [x] **pop()语法介绍 pop()示例** - [x] **del 语法介绍 del 示例** - [x] **del ,remove,pop三者区别**
### 列表分片(Slice) #### 语法 - [x] **语法介绍以及示例讲解点击我** - [x] ****

Python 列表函数

序号 函数
1
比较两个列表的元素
2
列表元素个数
3
返回列表元素最大值
4
返回列表元素最小值
5
将元组转换为列表
### Python列表方法
序号 方法 参数 返回值
1
在列表末尾添加新的对象
obj -- 列表对象该方法无返回值,但是会修改原来的列表
2
统计某个元素在列表中出现的次数
obj -- 列表对象
3
在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表
该方法没有返回值,但会在已存在的列表中添加新的列表内容
4
从列表中找出某个值第一个匹配项的索引位置
obj -- 列表对象
5
将对象插入列表
index -- 要插入的索引位置
obj -- 列表对象
该方法没有返回值,但会在列表指定位置插入对象
6
移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
index=-1--删除对象list的索引 如果为空则默认为-1最后一项返回要删除元素的值
7
移除列表中某个值的第一个匹配项
obj -- 列表对象此方法不返回任何值,但从列表中删除给定的对象
8
反向列表中元素
9
对原列表进行排序
#### append()方法示例 ``` list.append(obj) 在尾部添加元素,如下所示: list = [] ## 创建空列表 list.append('学习List') ## 使用 append() 添加元素 list.append('append示例') print list 输出结果: ['学习List','append示例'] ``` #### extend()方法示例 ``` list.extend(seq) 可以在尾部添加一个或多个对象(元素) 如下所示: List1 = [along, 'zzz', 'wuwu', 'abc', 222] List2 = [2018, '1月'] List1.extend(List2) print ("Extended List : ", List1) 输出结果: [along,'zzz','wuwu','abc',222,2018,'1月']
#### insert()方法示例

list.insert(index, obj)
用于将对象(元素)插入列表的指定位置。
List1 = [1314,'Love','you','you love me ?']
List1.insert(1,'I')
print ("Final List:", List1)
输出结果:
Final List: [1314, 'I', 'Love', 'you', 'you love me ?']

#### append()和extend()区别
  如果append和extend的参数都是一个的话,这俩功能类似,
  但是,要是参数为多个 extend将它的参数视为 list,并将该参数的每个元素都添加到原有的列表中
  append是将它的参数视为element(元素),作为一个整体添加上去的。比如在List1中添加List2 
  List2本身是一个列表(可用type查看) append会把这个列表添加进去
  通过实机操作我们发现一个小技巧 append可以将一维列表变成二维列表
  其他就不一一测试了  
  实验append()和extend()区别

append()
List1 = [1314,'Love','you','you love me ?']
List2 = ['YES',123]
List1.insert(1,'I')
List1.append(List2)
print("append List:",List1)
输出结果:
append List: [1314,'I' 'Love', 'you', 'you love me ?', ['YES', 123]] ##列表中还有一个列表
extend()
List1 = [1314,'Love','you','you love me ?']
List2 = ['YES',123]
List1.insert(1,'I')
List1.extend(List2)
print ("extend List:", List1)
输出结果:
extend List: [1314, 'I', 'Love', 'you', 'you love me ?', 'YES', 123]

通过比较我们发现
append List: [1314,'I' ,'Love', 'you', 'you love me ?', ['YES', 123]]
extend List: [1314, 'I', 'Love', 'you', 'you love me ?', 'YES', 123]
如果append参数传的是多个 那个append会把TA当作列表加入进去
而extend会把列表的每一个元素依次的加入到列表尾部 

#### remove()方法示例

list.remove(obj)
从列表中删除第一个 obj(如果多个元素一样,默认删除第一个)
List1 = [1314,'I','Love','you','you love me ?']
List1.remove(1314)
print ("remove List:", List1)
输出结果:
remove List: ['I', 'Love', 'you', 'you love me ?']

#### pop()方法示例

list.pop(index=-1)
用于取出并移除列表中的一个元素(默认最后一个元素)还可以 pop(索引值)
List1 = [1,2,3,4,5,6]
pop1=List1.pop() #默认删除最后一个元素
pop2=List1.pop(2) #删除索引为 2 的元素 (3)
print ("pop:", pop1) #打印 pop 后的返回值
print ("pop1:", pop2) #
print ("pop List:", List1)
输出结果:
pop: 6
pop1: 3
pop List: [1, 2, 4, 5]

#### del(BIF)

del [引用],[对象]
del 的主要作用是删除引用而不是删除对象 但是有些时候我们也可以用于删除 list 元素
如果 del 要删除 list 元素 他是通过索引进行的
List1 = [1314,'I','Love','you','you love me ?']
del List1[0] #删除 1314 下标是 0
print ("del List:", List1)
输出结果:
remove List: ['I', 'Love', 'you', 'you love me ?']
这个就是大概说一下 del 的主要作用不在这里 我们后面会讲到

#### del ,remove,pop三者区别
> 首先,remove 是删除首个符合条件的元素。并不是删除特定的索引
> 而对于 del 来说,它是根据索引(元素所在位置)来删除的
> 其次pop返回的是你弹出的那个数值 在根据索引(元素所在位置)来删除的
> 所以使用时要根据你的具体需求选用合适的方法(在一些复杂的计算里 很容易出错)

### <a href="http://1fx.xin/articles/2018/01/22/1516605570729.html">本章篇幅有限 点击我继续学习Python分片知识</a>
  • Python

    Python 是一种面向对象、直译式电脑编程语言,具有近二十年的发展历史,成熟且稳定。它包含了一组完善而且容易理解的标准库,能够轻松完成很多常见的任务。它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用缩进来定义语句块。

    543 引用 • 672 回帖 • 1 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • aixiu

    pop: 6
    最好写上当前结果。
    列表 List[1, 2, 3,4, 5]
    pop1: 3
    pop List: [1, 2, 4, 5]
    更清楚