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次

posted @ 2020-01-05 16:14  琥珀主yang  阅读(315)  评论(0编辑  收藏  举报