列表的新建列表(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()
用来在列表的末尾增加一个元素:
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]
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)