创建列表只有可以使用 整数 作为下标来访问其中的元素,与c语言数组类似,0表示第一个元素、1表示第二个元素、2表示第三个元素以此类推;列表还指出使用负整数作为下标,其中,-1表示最后一个元素、-2表示倒数第二个元素以此类推
方法 | 说明 |
---|---|
append(x) | 将x追加至列表尾部 |
extend(L) | 将列表L中所有元素追加至列表尾部 |
insert(index,x) | 在列表index位置插入x,该位置后面的所有元素后移并在列表中的索引加1,如果index为正数且大于列表长度,则在列表尾部追加x;如果index为负数且小于列表长度的相反数,则在列表头部插入元素x |
remove(x) | 在列表中删除第一个值为x的元素,该元素之后所有的元素前移并且索引减1,如果列表中不存在x,则抛出异常 |
pop([index]) | 删除并返回列表中下标为index的元素,如果不指定index,则默认为-1,弹出最后一个元素;如果弹出中间位置的元素,则后面的元素索引减一;如果index不是[-L,L]区间上的整数,则抛出异常 |
clear() | 清空列表,删除列表中所有元素,保留列表对象 |
index(x) | 返回列表中第一个值为x的匀速索引,若不存在值为x的元素,则抛出异常 |
count(x) | 返回x在列表中的出现次数 |
reverse() | 对列表所有匀速进行原地逆序,收尾交换 |
sort(key=None,reverse=False) | 对列表中的元素进行原地排序,key用来指定排序规则,reverse为False表示升序,True表示降序 |
(1)添加元素:append(), insert(), extend()
append()用于向列表尾部追加一个元素;
inert()用于向列表任意指定位置插入一个元素;
extend()用于将另一个列表中的所有元素追加至当前列表的尾部
x=[1,2,3]
x.append(4)
x.insert(0,0)
x.extend((5,6,7))
x
输出:[0, 1, 2, 3, 4, 5, 6, 7]
(2)删除元素:pop(), remove()
pop()用于删除并返回指定位置(默认最后一个)上的元素;
remove()用于删除列表中第一个值与指定值相等的元素
del()用于删除指定位置上的元素
x=[1,2,3,4,5,6]
x.pop() #弹出并返回尾部元素
输出:6
x.pop(0) #弹出bin返回指定位置的元素
输出:1
x.remove(3) #删除首个值为3的元素
x
输出:[2, 4, 5]
x=[1,2,3,4,5,6]
del x[3] #删除指定位置上的元素
x
输出:[1, 2, 3, 5, 6]
(3)统计查找:count(), index()
count()用于放回列表中指定元素出现的次数;
index()用于返回指定元素在列表中首次出现的位置,如果该元素不在列表中,则抛出异常
x=[1,2,2,3,4,5,6,6,6,1]
x.count(2) #元素在列表x中出现的次数,若不存在,则返回0
输出:2
x.count(6)
输出:3
x.index(2) #元素2在列表x中首次出现的索引,若不存在,则抛出异常
输出:1
x.index(0)
输出:Traceback (most recent call last): #抛出异常
File “”, line 1, in
x.index(0)
ValueError: 0 is not in list
(4)排序:sort(), reverse()
sort()用于按照指定的规则对所有元素进行排序;
reverse()用于将列表所有元素逆序或翻转
x=list(range(11)) #包含11个整数的列表
import random
random.shuffle(x) #把x中的元素随机打乱
x
输出:[6, 1, 10, 4, 9, 8, 7, 3, 5, 0, 2]
x.sort(key=lambda item:len(str(item)),reverse=True) #按转换成字符串以后的长度
x
输出:[10, 6, 1, 4, 9, 8, 7, 3, 5, 0, 2]
x.sort(key=str) #升序排序
x
输出:[0, 1, 10, 2, 3, 4, 5, 6, 7, 8, 9]
x.sort() #按默认规则排序
x
输出:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
x.reverse() #吧所有元素翻转或逆序
x
输出:[10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
一、在上述员工月薪列表中,添加一名月薪3000的员工至列表末尾;插入一名月薪4500的员工到列表中索引为2的位置。
代码如下:
salary = [10000,5200,4700,3860,1200,8500]
salary.append(3000)
print("在末尾添加新数据后的列表:")
print(salary)
salary.insert(2,4500)
print("在列表中索引为2的位置添加新数据后的列表:")
print(salary)
二、在上述员工月薪列表中,移除列表中最后一个数据,并显示移除的值;将列表中的第二个数据的值增加100;删除列表中第5个数据。
代码如下:
salary=[10000,5200,4700,3860,1200,8500]
print(salary)
print(salary.pop())
salary[1]=salary[1]+100
salary.pop(4)
print(salary)