1.列表
在Python中,用方括号[]
来表示列表,用逗号来分隔元素,并且在输出(print
)列表时也会将方括号展示出来。
要访问列表元素,可指出列表的名称,再指出元素的索引,并将其放在方括号内。
注:
- 索引从0开始;第一个列表元素的索引为0,即第n位元素其索引为“n-1”;
- 特殊索引:最后一个列表元素索引指定为-1,倒数第n个元素,其索引为“-n”:
- 对字符串的操作同样适用于列表中的元素。
bicy = ['trek','cannondale','redline','specialized']
print(bicy[0]) #输出第一个元素
### trek
print(bicy[3]) #输出第4个元素
### specialized
print(bicy[-1]) #输出最后一个
### specialized
print(bicy[-3]) #输出倒数第3个
### cannondale
2.对列表进行操作
2.1 修改列表元素
要修改列表元素,可指定列表名和要修改的元素的索引,再指定该元素的新值。
bicy[0] = "duca"
print(bicy)
2.2 在列表中添加新元素
append()将元素添加到了列表末尾,该方法可以先创建空列表再存储数据;
insert()可在列表的任何位置添加新元素,需要指定新元素的索引和值;
moto = []
moto.append("hello")
print(moto)
###['hello']
moto.append("hello2")
moto.append("hello3")
print(moto)
### ['hello', 'hello2', 'hello3']
moto.insert(0,"hi")
print(moto)
### ['hi', 'hello', 'hello2', 'hello3']
2.3 从列表删除元素
可以根据位置或值来删除列表中的元素。
-
del()
:需要知道元素在列表中的位置,并且该命名表示彻底删除该元素。 -
pop()
:可移除列表任何位置的元素,并且能继续使用该元素。
不指定位置时,则移除列表末尾的元素;
指定位置:直接在括号内输入索引,如第n个pop(n-1)
。 -
remove()
:根据值移除元素,并且可以继续使用。
【注】:remove()
只删除第一个指定的值。如果要删除的值在列表中出现多次,需要使用循环来判断是否删除了所有这样的值。
## del():删除指定索引的元素
print(moto)
###['hi', 'hello', 'hello2', 'hello3']
del moto[1]
print(moto)
###['hi', 'hello2', 'hello3']
## pop():移除元素
pop_moto = moto.pop() #移除最后一个
print(moto)
###['hi', 'hello2']
print(pop_moto)
###hello3
print(bicy)
###['duca', 'cannondale', 'redline', 'specialized']
pop_bicy = bicy.pop(1) #弹出指定位置的元素
print(bicy)
###['duca', 'redline', 'specialized']
print(pop_bicy)
## remove() 删除指定值
print(bicy)
###['duca', 'redline', 'specialized']
bicy.remove("redline")
print(bicy)
###['duca', 'specialized']
bicy.append("nih")
bicy.append("nih")
print(bicy)
###['duca', 'specialized', 'nih', 'nih']
bicy.remove("nih")
print(bicy)
###['duca', 'specialized', 'nih']
3.组织列表
3.1 排序
-
sort()
:按字母对列表进行永久排序; - 函数
sorted()
对列表进行临时排序;
[注]:参数 reverse = True
可以逆向排序;
print(bicy)
### ['duca', 'specialized', 'nih']
bicy.sort() # 按首字母排序
print(bicy)
### ['duca', 'nih', 'specialized']
bicy.sort(reverse = True) # 按字母反向排序;
print(bicy)
### ['specialized', 'nih', 'duca']
cars = ['bmw', 'audi', 'toydo', 'chnh']
print(cars)
### ['bmw', 'audi', 'toydo', 'chnh']
print(sorted(cars)) # 临时按字母排序
### ['specialized', 'nih', 'duca']
print(cars)
### ['bmw', 'audi', 'toydo', 'chnh']
3.2 reverse()
反转列表元素顺序
reverse()永久性地修改列表元素的排列顺序
cars.reverse()
print(cars)
### ['chnh', 'toydo', 'audi', 'bmw']
3.3 len()
获得列表长度
print(len(bicy))
### 3