Python(十七)python列表List(数组)

246 阅读6分钟

Python的列表,实际意义上等同于PHP里边的数组。

只是叫法不一样而已。Python列表底层实现的原理其实就是一个C语言的列表。

Python的列表可存储不同类型的数据,但是其一般都用来存储相同类型的数据方便处理。

序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。

Python有6个序列的内置类型,但最常见的是列表和元组。

序列都可以进行的操作包括索引,切片,加,乘,检查成员。

此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法。

列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。

列表的数据项不需要具有相同的类型

创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。

一:创建列表

*#* *创建数组  
*list_one = [1234567890]  
print(list_one)

输出:

[1, 2, 3, 4, 5, 6, 7, 8, 9, 0]

二:访问列表中的值

1:单个获取

*#* *创建数组  
*list_one = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]  
print(list_one)  
  
list_show_one = list_one[0];  
list_show_two = list_one[9];  
print(list_show_one)  
print(list_show_two)  
print(list_show_three)

输出:

1

0

2:获取多个值

w1.png

list_one = [1234567890]
list_show_three = list_one[3:5];
print(list_show_three)

输出:[4, 5]

list_show_three 是一个全新的列表

三:列表添加值

列表中添加值:使用内置函数insert/extend/append

Insert 指定位置添加

list_one.insert(10100)  
print(list_one)

输出:

[1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 100]

Extend主要是向列表添加列表,如果添加的是字符串,则会被拆分成单个字符追加至列表

list.extend("123456")  
print(list)

输出:

[1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 100, '1', '2', '3', '4', '5', '6']

 

list_one.extend(["123456","234567","345678"])  
print(list_one)

输出:

[1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 100, '1', '2', '3', '4', '5', '6', '123456', '234567', '345678']

 

Append,在列表末尾添加

list_one.append(123)  
print(list_one)

输出:

[1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 100, '1', '2', '3', '4', '5', '6', '123456', '234567', '345678', 123]

 

四:更新列表

更新列表中的元素。

*#* *定义一个列表  
*lists = ['Google''Runoob'19972000]  
*#* *打印更新前元素  
*print("第三个元素为 : ", lists[2])  
lists[2] = 2001  
*#* *打印更新后元素  
*print("更新后的第三个元素为 : ", lists[2])

 

输出:

第三个元素为 :  1997

更新后的第三个元素为 :  2001

 

五:删除列表元素

删除元素,可以通过下标删除,也可以通过元素(指定要删除的元素)来删除

Del 关键字是可以将变量从内存中删除,其将变量删除之后,。后续代码就不能继续使用已删除的这个变量了。因此del关键字需要谨慎使用。

# ======================================================
# 删除数据
list = ['Google''Runoob'19972000,500,900,'qwerty',"zhangsan","lisi"]
print("原始列表 : "list)
del list[2]
print("删除第三个元素 : "list)
 # 删除指定元素
 list.remove('Runoob')
 print("删除指定元素之后的列表 : "list)
 # 删除列表最后一个元素
 list.pop()
 print("删除列表最后一个元素 : "list)
 # 删除列表指定索引的元素
 list.pop(2)
 print("删除列表指定索引的元素 : "list)
 # 清空列表
 list.clear()
 print("清空列表!:",list)

输出:

原始列表 :  ['Google', 'Runoob', 1997, 2000, 500, 900, 'qwerty', 'zhangsan', 'lisi']

删除第三个元素 :  ['Google', 'Runoob', 2000, 500, 900, 'qwerty', 'zhangsan', 'lisi']

删除指定元素之后的列表 :  ['Google', 2000, 500, 900, 'qwerty', 'zhangsan', 'lisi']

删除列表最后一个元素 :  ['Google', 2000, 500, 900, 'qwerty', 'zhangsan']

删除列表指定索引的元素 :  ['Google', 2000, 900, 'qwerty', 'zhangsan']

清空列表!: []

 

六:Python列表脚本操作符

列表对 + 和 * 的操作符与字符串相似。+ 号用于组合列表,* 号用于重复列表。

 

判断某个值是否在列表中

# 创建数组  
list_one = [1234567890]  
  
result100 in list_one  
  
print(result)

 

如下所示:

Python 表达式结果描述
len([1, 2, 3])3长度
[1, 2, 3] + [4, 5, 6][1, 2, 3, 4, 5, 6]组合
['Hi!'] * 4['Hi!', 'Hi!', 'Hi!', 'Hi!']重复
3 in [1, 2, 3]True元素是否存在于列表中
for x in [1, 2, 3]: print(x, end=" ")1 2 3迭代

 

七:Python列表截取与拼接

Python的列表截取与字符串操作类型,如下所示:

L=['Google', 'Runoob', 'Taobao']

操作:

Python 表达式结果描述
L[2]'Taobao'读取第三个元素
L[-2]'Runoob'从右侧开始读取倒数第二个元素: count from   the right
L[1:]['Runoob', 'Taobao']输出从第二个元素开始后的所有元素

 

例:

*# Python* *列表截取与拼接  
*list = ['Google''Runoob', 1997, 2000]  
print(list[2])  
print(list[-2])  
print(list[1:])

 

输出:

1997

1997

['Runoob', 1997, 2000]

 

八:Python列表函数&方法

Python包含以下函数:

序号函数
1len(list)   列表元素个数
2max(list)   返回列表元素最大值
3min(list)   返回列表元素最小值
4list(seq)   将元组转换为列表

 

Python包含以下方法:

序号方法
1list.append(obj)   在列表末尾添加新的对象
2list.count(obj)   统计某个元素在列表中出现的次数
3list.extend(seq)   在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
4list.index(obj)   从列表中找出某个值第一个匹配项的索引位置
5list.insert(index,   obj)   将对象插入列表
6list.pop([index=-1])   移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
7list.remove(obj)   移除列表中某个值的第一个匹配项,重复值删除第一个
8list.reverse()   反向列表中元素
9list.sort(   key=None, reverse=False)   对原列表进行排序
10list.clear()   清空列表
11list.copy()   复制列表

 

表格来自菜鸟教程。

 

九:列表循环

list_one = [1234567890]  
  
for item in list_one:  
    print(item)

 

# 获取列表长度  
print(len(list_one))  
i = 0

# 通过数组长度遍历数组  
while(i < len(list_one) ):  
    print(list_one[i])  
    i += 1

 

十:列表的切片操作

划重点,列表的切片操作很重要

使用切片操作,切片之后,将产生一个新的列表对象

list_one = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]  
print(id(list_one))  
list_new = list_one[1:4]  
print(list_new)  
print(id(list_new))

输出:

2083131037504

[2, 3, 4]

2083131038144

 

使用切片实现列表删除操作:

假设我们现在删除列表中索引为123的元素

print("原列表", list_one)  
list_one[1:4] = [];  
print("删除之后的列表", list_one)

输出:

原列表 [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]

删除之后的列表 [1, 5, 6, 7, 8, 9, 0]

 

十一:列表生成式

w2.png

lst = [i for i in range(1,10)]  
print(lst)

输出:

[1, 2, 3, 4, 5, 6, 7, 8, 9]

 

十二:列表小节

w3.png

有好的建议,请在下方输入你的评论。