list列表
list基本形式,英文逗号隔开,任何数据类型都可以
info = ['Colin',12,'男',True,178.90,None]
获取列表中元素
(1) 列表索引index,返回获取结果的数据类型
print(info[0]) # 第一个字符
print(info[-1]) # 最后一个字符 None
print(type(info[0])) # <class 'str'>
print(type(info[-1])) # <class 'NoneType'>
print(info[15]) # IndexError: list index out of range
(2)列表切片slice,返回列表,没有数据时也是空列表
print(info[1:4]) # 从1到3
print(info[1:4:2]) # 从1到3,隔2个取1个
print(info[::]) # 从头到尾
print(info[::-1]) # 从尾到头,列表反转
print(info[4:1]) # 空列表(反着取步长也要反着)
print(info[4:1:-1]) # 从4到1倒着数
print(info[-1:-4]) # 空列表,倒着数,步长是正的
print(info[-1:-4:-1]) # 从-1到-4,倒着数
(3) 添加元素,没有返回值。append(一个元素),extend(一个元素逐个添加),insert(索引,一个元素)
list.append(元素),没有返回值,添加一个元素,相当于增加一个逗号,直接添加到列表中了
list = [1,2,3,4]
list.append(6)
print(list) 增加一个元素6 >>> [1, 2, 3, 4, 6]
list = [1,2,3,4]
newlis = [5,6,7]
list.append(newlis)
print(list) 整体增加一个元素[5, 6, 7] >>> [1, 2, 3, 4, [5, 6, 7]]
list.extend(元素) 将另外一个集合中的元素逐一添加到列表中,没有返回值
list = [1,2,3,4]
newlis = [5,6,7]
list.extend(newlis)
print(list) 逐一添加元素5,6,7,相当于添加了3个元素 >>> [1, 2, 3, 4, 5, 6, 7]
list.insert(索引,元素) 在指定位置添加元素,没有返回值
list = [1,2,3,4]
list.insert(0,0) 在0的位置添加一个0 >>> [0, 1, 2, 3, 4]
print(list)
list.insert(4,[1,2,3]) 插入一组元素 >>> [0, 1, 2, 3, [1, 2, 3], 4]
print(list)
list.insert(-100,0) 不存在下标越界的情况,不存在的索引会添加到第一个或最后一个位置
list.insert(100,0)
(4)修改元素,根据索引修改,没有返回值
names = ['asd','sdf','qwe','rtf','sdc']
names[0] = '小明' 取值,然后赋值 >>> ['小明', 'sdf', 'qwe', 'rtf', 'sdc']
print(names)
(5)删除元素
根据索引删除
del list[索引],没有返回值
names = ['asd','asd','asd1','rtf','sdc']
del names[0]
del names[len(names)-1] 删除最后一个元素
del names[names.index('asd')] 删除第一个asd
删除最后一个
pop() 删除最后一个元素,有返回值为列表中最后一个元素
names = ['asd','asd','asd1','rtf','sdc']
name = names.pop() 等于del names[len(names)-1]
print(name) 返回最后一个元素 sdc
print(names) 没有返回值直接去除元素 ['asd', 'asd', 'asd1', 'rtf']
根据元素删除
remove(元素),没有返回值
names = ['asd','asd','asd1','rtf','sdc']
names.remove('asd') 删除第一个asd
print(names)
(6)list.sort() 小-大排序,没有返回值
list.sort(reverse = True) 大-小排序,没有返回值
list = [1,2,2,3,5,6,3,8]
list.sort()
print(list)
list.sort(reverse=True)
print(list)
(7)list.reverse()反转,没有返回值,相当于切片list[::-1]
list = [1,2,3,4]
list.reverse()
print(list)
(8) len() 非字符串方法
获取字符串(列表)长度
len(info)
(9) list列表的循环遍历,得到是是每个字符的数据类型
遍历中最简单的方式,直接取值
for lis in info:
print(lis)
最常用的方式,列表索引取值
for i in range(0,len(info)):
print(info[i])
while循环遍历。四部分:循环变量初始值、循环条件判断、循环体、循环变量迭代更新
列表索引取值
i = 0
while i < len(info):
print(info[i])
i+=1
(10)in,,,,not in
python中常见的查找元素in(存在为True,不存在为False),,,not in(不存在为True,存在为False)
names = ['asd','sdf','qwe','rtf','sdc']
na = input("请输入你的名字:")
if na in names:
print("名字已存在,请勿重新输入")
else:
print("输入成功")
(11) index
index 获取某元素在列表中第一次出现的索引值,存在返回索引值,不存在报错
names = ['asd','asd','asd1','rtf','sdc']
print(names.index('asd')) # >>> 0
print(names.index('as1d')) # >>> ValueError: 'as1d' is not in list
(12) count 获取元素在列表中出现的次数
print(names.count('asd')) # 2次