一、直接查询
list1 = ['python', 'java', 'php', 'MySql', 'C++', 'C', 'php', 'C#']
print(list1[5])
print(list1[-2])
print(list1[2:4])
print(list1[2:19]) # 这里超出范围不会报错,下面会报错
print(list1[19]) # IndexError: list index out of range
二、index()查找元素下标
name1 = ['python', 'java', 'php', 'MySql', 'C++', 'C', 'php', 'C#']
print(name1.index('php'))
print(name1.index('php', 4, 7)) # 在4-7区间内查找php的下标
name1 = ['python', 'java', 'php', 'MySql', 'C++', 'C', 'php', 'C#']
print(name1.index('php', 1, 4)) # 在1-4区间内查找
# print(name1.index('php', 4, 6)) # 查询不到,返回错误
三、count()查找元素出现次数
name1 = ['python', 'java', 'php', 'MySql', 'C++', 'php', 'C', 'php', 'C#']
print(name1.count('php'))
四、[start:end:step]切片操作
print(name1[1:6:3])
五、列表的遍历查找
1.元素遍历
list2 = ['python', 'java', 'php', 'MySql', 'C++', 'C', 'php', 'C#']
a = 0
for i in list2:
print(i)
# print(list2.index(i)) # 注意:这时候php出现两次,遍历的下标结果都是2,这里可以通过计数器改变下标位置,如下
print(list2.index(i, a)) # 每次查询从下标a开始
a += 1
2.索引遍历
list3 = ['python', 'java', 'php', 'MySql', 'C++', 'C', 'php', 'C#']
for i in range(0, len(list3)):
# print(i)
print(i, list3[i])
3.枚举遍历
通过枚举函数把可比案例的对象组合成一个新的索引序列,序列中同时枚举出元素的下标和元素本身
print(enumerate(list3)) # 返回枚举对象:<enumerate object at 0x0000000002319180>
print(list(enumerate(list3))) # 枚举对象可以直接转化成行列表
print(list(enumerate(list3, 2))) # 下标从2开始
# 枚举对象可以直接被遍历
for k, v in enumerate(list3):
print(k, v)
4.迭代器遍历
可以通过遍历的对象叫做迭代对象
# 迭代对象的判断:1.可以for循环的对象是可迭代的;2.通过函数isinstance(),使用前导入from collections.abc import Iterable
str1 = 'python自学网'
for i in str1:
print(i)
from collections.abc import Iterable
iter = isinstance(str1, Iterable) # 返回True是可迭代
print(iter)
# 迭代器原理:迭代器是可以记录遍历位置的,从第一个元素开始,通过next()方法逐个进行遍历访问,从左到右顺序不变
# next()方法