列表
1. 简介
2. 下标、查找函数
·index():返回指定数据所在位置的下标
语法:列表序列.index(数据,开始位置下标,结束位置下标)
注:查找数据不存在则报错
·count():统计指定数据在当前列表中出现的次数
·len():访问列表长度,即列表中数据的个数
name_list = ['acx','lcj','ggl','wdnmd','lcj']
# index()
print(name_list.index('ggl'))
#print(name_list.index('gsl'))
# count()
print(name_list.count('lcj'))
# len()
print(len(name_list))
2
2
5
3. 判断元素是否存在
·in:判断指定数据是否在某个列表序列,如果在返回True,否则返回False
·not in:判断指定数据不在某个列表序列,不在返回True,否则返回False
# 需求:用户输入一个用户名,判断是否存在,存在则提示,不存在则可以注册
input_name = input("请输入用户名")
if input_name in name_list:
print("用户名已存在")
else:
print("注册成功")
请输入用户名lcc
注册成功
4.增加数据
作用:将指定数据添加到列表中
4.1 append():列表结尾追加数据
·语法:列表序列.append(数据)
·列表追加数据的时候直接在原列表里面追加了指定数据,即修改了原列表,故列表为可变类型数据
·注:如果append()方法追加的数据是一个序列,则将整个序列追加到列表中
# append()
name_list2 = ['Lcj','Acx','Gsl']
# 结尾追加数据
name_list2.append('Jyl')
print(name_list2)
# 结尾追加序列
name_list2.append(['Tj','Lzh'])
print(name_list2)
['Lcj', 'Acx', 'Gsl', 'Jyl']
['Lcj', 'Acx', 'Gsl', 'Jyl', ['Tj', 'Lzh']]
4.2 extend():列表结尾追加数据,如果数据是一个序列,则将序列中数据逐一添加到列表中
·语法:列表序列.extend(数据)
# extend()
name_list3 = ['Tom','Jarry','Lee']
# 结尾添加数据
name_list3.extend('JCL')
print(name_list3)
# 结尾添加序列
name_list3.extend(['ACX','TJ'])
print(name_list3)
['Tom', 'Jarry', 'Lee', 'J', 'C', 'L']
['Tom', 'Jarry', 'Lee', 'J', 'C', 'L', 'ACX', 'TJ']
4.3 insert():指定位置新增数据
·语法:列表序列.insert(位置下标,数据)
# insert()
name_list4 = ['Tom','Jack','Fuck']
name_list4.insert(1,'Shit')
print(name_list4)
['Tom', 'Shit', 'Jack', 'Fuck']
5. 删除数据
5.1 del
# 删除列表
name_list5 = ['Tom','Jack','Fuck']
print(name_list5)
del name_list5
print(name_list5)
['Tom', 'Jack', 'Fuck']
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-11-aa86c8a957a8> in <module>
4
5 del name_list5
----> 6 print(name_list5)
NameError: name 'name_list5' is not defined
# 删除指定数据
name_list6 = ['Tom','Jack','Fuck']
del name_list6[1]
print(name_list6)
['Tom', 'Fuck']
5.2 pop():删除指定下标的数据(默认为最后一个),并返回该数据
·语法:列表序列.pop(下标)
name_list7 = ['Tom','Jack','Fuck','Shit']
# 删除(默认)
del_name1 = name_list7.pop()
print(del_name1)
print(name_list7)
# 删除指定元素
del_name2 = name_list7.pop(0)
print(del_name2)
print(name_list7)
Shit
['Tom', 'Jack', 'Fuck']
Tom
['Jack', 'Fuck']
5.3 remove():移除列表中某个数据的第一个匹配项
·语法:列表序列.remove(数据)
name_list8 = ['Tom','Jack','Fuck','Tom']
# 删除元素
name_list8.remove('Jack')
print(name_list8)
# 删除第一个匹配项
name_list8.remove('Tom')
print(name_list8)
['Tom', 'Fuck', 'Tom']
['Fuck', 'Tom']
5.4 clear():清空列表
name_list9 = ['Tom','Jack','Fuck']
# 清空列表
name_list9.clear()
print(name_list9)
[]
6. 修改数据
6.1 修改指定下标数据
name_list10 = ['Lcj','Jcl','lcjj']
# 修改指定下标数据
name_list10[0] = 'abc'
print(name_list10)
['abc', 'Jcl', 'lcjj']
6.2 逆置列表:reverse()
num_list = [1,4,2,6,5,8]
# 逆置列表
num_list.reverse()
print(num_list)
[8, 5, 6, 2, 4, 1]
6.3 排序:sort()
·语法:列表序列.sort(key=None,reverse=False)
·注意:reverse表示排序规则,True降序,False升序(默认)
print(num_list)
# 默认排序(升序)
num_list.sort()
print(num_list)
# 降序排列
num_list.sort(reverse=True)
print(num_list)
[8, 5, 6, 2, 4, 1]
[1, 2, 4, 5, 6, 8]
[8, 6, 5, 4, 2, 1]
6.4 复制:copy()
place_list = ['BJ','WH','SY']
place_list2 = place_list.copy()
print(place_list2)
['BJ', 'WH', 'SY']
7.遍历列表
# 需求:依次打印列表中的各个元素
rider_list = ['kuuga','hibiki','decade','ohma zio']
# for循环遍历
for i in rider_list:
print(i)
# while循环遍历
i = 0
while i < len(rider_list):
print(rider_list[i])
i += 1
kuuga
hibiki
decade
ohma zio
kuuga
hibiki
decade
ohma zio
8.列表嵌套
·列表嵌套指列表里元素也是列表(可以理解为类似于多维数组)
kamen_rider = [['w','ooo','fourze'],['wizard','gaim','drive'],['ghost','ex-aid','build']]
#输出wizard
print(kamen_rider[1][0])
wizard