Python数据类型--列表

Python数据类型--列表,第1张

列表(List)是写在方括号之间、用逗号分隔开的元素列表。列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含如列表、元组等组合数据类型(列表的嵌套),可以在创建完成后进行增加、修改、删除等 *** 作,是

列表的新建

同其他类型的Python变量一样,创建列表时,也可以使用赋值运算符=直接将一个列表赋值给变量,语法格式如下:

list_name = [element1, element2, element3,, elementn]

其中,list_name表示列表的名称,可以是任何符合Python命名规则的标识符。 element1, element2, element3, …, elementn表示列表中的元素,
也可以通过list函数进行列表的创建:

list_name = list(data)

其中,data表示可转换为list的数据,其类型可以为range对象、元组、字符串或其他可迭代类型的数据。
list函数在接受data后将其逐一划分为元素,并将这些元素组合构成列表,例如在命令行中创建列表时:

print(list('python'))

输出结果:

['p', 'y', 't', 'h', 'o', 'n']

注意:函数list()与列表的英文list重名,所以一般不使用list作为名称命名列表,以避免对函数标识符的占用。
对于有规律的列表元素,也可以使用列表推导式进行新建:

list_=[ i\*\*2  for i in range(4)]
print(list_)

输出结果:

[0, 1, 4, 9]

列表对元素的个数和类型都没有限制,例如,以下列表的定义都是合法的。

empty_list = []
empty_list_ = list()
num_list = [0, 1, 2, 3, 4, 5, 6]
num_list_ = list(range(7))
python_title = ['Python', 18, ["人生苦短""我用Python"]]

应及时删除不再使用的列表以节省储存空间,例如:

del useless_list

也可以使用del删除列表中的指定元素:

del useless_list[1]
del useless_list[:2]


列表元素访问

列表中的数据按照定义的顺序排列,通过使用元素对应的索引(下标)进行访问。
注意:Python中列表的索引是由0开始顺序增加的。
特别的,Python中可以从列表的最后一个元素开始向前遍历,索引由-1开始,顺序减小。
对于列表中单个元素的访问,可直接使用中括号加索引的方式。

list_ = [1, 2, 3]
print(list_[1])
print(list_[-1])

输出结果:

2
3

对于列表中多个元素的访问,常使用切片方法,。

list_ = [1, 2, 3, 4]
print(list_[1:3])
print(list_[0:3:2])
print(list_[::-1])

输出结果:

[2, 3]
[1, 3]
[4, 3, 2, 1]

形如list_[start: end: step]的切片表达式,其中start,end为列表list_的索引, step表示步长,步长为1时可以省略。
若需要逐一对列表中的元素进行读取或修改,可使用for循环遍历列表:

list_=[1, 2, 3, 4]
for elem in list_:
    print(elem)

输出结果:

1
2
3
4

可以使用del方法对列表元素或列表进行删除:

list_ = [1,2,3,4]
del list_[3]
print(list_)

输出结果:

[1, 2, 3]


列表运算

对于已经创建的列表, 可以直接通过索引值对列表元素进行更新和修改。使用单个索引值可对单个元素进行修改,使用索引值范围可对范围内的若干元素进行修改。
在使用索引值范围进行修改时,如果给定的新值数量少于范围内元素数量,相当于删除元素值;如果给定的新值数量多于范围内元素数量,相当于增加元素值。例如:

list_=[1, 2, 3, 4, 5]
list_[0] = 'e1'  #修改单个元素
print(list_)
list_[2:4] = ['e2']  # 删除
print(list_)
list_[-1:] = ['e3', 'e3']  # 增加
print(list_)

输出结果:

['e1', 2, 3, 4, 5]
['e1', 2, 'e2',5]
['e1', 2, 'e2', 'e3', 'e3']

Python中列表支持 *** 作符运算,如+可以连接两个列表、*可以通过乘常数将列表重复、in可以判断元素是否在列表内等等。

list_ = [1, 3, 5]
list_ = list_ + [7, 11]  # 列表 + 列表
print(list_)
print(list_ \* 2)  # 列表 \* 常数
print(11 in list_)  # 判断元素在列表内

输出结果:

[1, 3, 5, 7, 11]
[1, 3, 5, 7, 11, 1, 3, 5, 7, 11]
True

可以使用len\sum\max\min来得到列表的长度\求和结果\最大值\最小值,例如:

list_ = [1, 3, 5, 7]
print(len(list_))
print(sum(list_))
print(max(list_))
print(min(list_))

输出结果:

4
16
7
1

Python中内置了一些对列表进行 *** 作的函数和方法,使用时通过圆点运算符.来调用列表的内置方法。下面举例进行说明。

append()函数

append()用来在列表的末尾增加一个元素:

list_=[2, 3, 5, 7, 11]
list_.append(13)
print(list_)

输出结果:

[2, 3, 5, 7, 11, 13]
extend()函数

extend()可将另一个列表的内容添加到自己的末尾:

list_=[2, 3, 5, 7, 11]
list_.extend([13, 17])
print(list_)

输出结果:

[2, 3, 5, 7, 11, 13, 17]
insert()函数

insert()用来将一个数据插入到列表中的指定位置。append只能在列表的末尾添加,而insert可以插入到列表中的任意位置。
insert()需要两个参数,第一个是插入的位置,第二个是插入的值,当插入位置不存在时,会默认插入到末尾。

list_=[2, 3, 7, 11]
list_.insert(2, 5)
print(list_)

输出结果:

[2, 3, 5, 7, 11]
remove()函数

remove(value)可删除列表中第一个出现的值为value的元素,例如:

list_=[2, 3, 5, 7, 11]
list_.remove(5)
print(list_)
[2, 3, 7, 11]

输出结果:

[2, 3, 7, 11]
index()函数

index()用于查找列表中某值的位置,index(value)会返回列表中第一次出现值为value的元素的索引位置。

list_=[2, 3, 5, 5, 7, 11]
print(list_.index(5))

输出结果:

2
pop()函数

pop意为出栈,原本指返回栈顶元素并删除,在python的列表中pop(index)可以将指定位置元素返回并删除,省略index时默认会返回列表末尾元素并删除。

list_=[2, 3, 5, 7, 11]
print(list_.pop(0))
print(list_)

输出结果:

2
[3, 5, 7,11]
sort()函数

sort()函数不需要参数,它会将列表进行排序。对于数字列表,排序将按照数值由小到大进行。
对于字符串列表,排序将按照ASCII码值由小到大进行,也就是 说a将在b的前面,大写字母将在小写字母的前面。对于元素中既有数字又有字符串的列表,sort()函数将无法对它进行排序。

list_a = [1,3,2]
list_a.sort()
print(list_a)


list_b = ['ants', 'cats', 'dogs', 'badgers', 'elephants']
list_b.sort()
print(list_b)

输出结果:

[1,2,3]
['ants', 'badgers', 'cats', 'dogs', 'elephants']
reverse()函数

reverse()不需要参数,它会将列表逆序排列:

list_=[2, 3, 5, 7, 11]
list_.reverse()
print(list_)

输出结果:

[11, 7, 5, 3, 2]

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/730783.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-27
下一篇 2022-04-27

发表评论

登录后才能评论

评论列表(0条)

保存