Python基础–06
为什么要使用列表?
列表就好比C语言中的数组,它可以在这个数组里面保存各种类型的数据,保存的数据更多,所以引入列表,来帮助变量只能保存一个数值的尴尬境地
a=['hello','world',95,98.5]
print(a)
在这个代码里面,list是列表名,保存的id值,然后这个id值可以指向保存里面三个数据的id值,三个数据的id值指向具体数值。
列表的初始化
lst=['hello','world',98]
lst2=list(['hello','world',98])
列表的特点
获取列表指定元素的索引、获取指定的元素
获取列表指定元素的索引值
index(),获取列表指定元素的索引值,是通过list的index方法来获取的.
index方法使用有以下三个注意点:
1.index只会返回寻找到第一个的索引值,所以如果列表中有重复元素,index也只会返回第一个
list1=['hello','adasd','dsadsa','zxcxzc','hello']
print(list1.index('hello')) #输出为0 #虽然list1列表中有两个hello值,但是只会返回第一个找到的索引值,所以输出为0
2.如果index找不到指定元素,会报错的
list3=['cx','dsa',9800]
print(list3.index('hello')) #输出:ValueError: 'hello' is not in list,这个属于报错,会导致下面的代码无法正常执行
3.index方法可以指定寻找的序列,index(‘要寻找的值’,x,y),x表示开始寻找的序列,y表示结束寻找的序列
list4=['sadad','xzc','qewqe','yiuy']
print(list4.index('qewqe',0,3)) #输出结果为1
获取列表中的单个元素
1.可以正向获取,也可以逆向获取,正向获取的时候,从0开始计数,逆向获取的时候,从-N开始计数
2.如果获取的索引值超过列表的范围,就会报错
li=['xcz','sadas','xzxz','wqqww']
print(li[1]) #输出第二个数据
print(li[-1]) #输出最后一个数据
# print(li[6]) 超出列表的范围,所以报错
获取列表的多个元素
获取多个元素采用切片法,语法格式如下:
列表名[start:stop:step]
切片获取的列表为一个新的列表,因为他和旧的列表的id值是不相同的
lst=[10,20,30,40,50,60,70,80]
#start=1,stop=6,step=1
print(lst[1:6:1])#[20, 30, 40, 50, 60]
print('原列表:',id(lst))
lst2=lst[1:6:1]
print('切片后列表:',id(lst2))
# 原列表: 1854183981504
# 切片后列表: 1854183978304
print(lst[1:6:])
print(lst[1:6])
# [20, 30, 40, 50, 60]
# [20, 30, 40, 50, 60]
print(lst[1:6:2])
# [20, 40, 60]
print(lst[:6:2])
# [10, 30, 50]
print(lst[1::2])
# [20, 40, 60, 80]
print(lst[::-1])
# [80, 70, 60, 50, 40, 30, 20, 10]
print(lst[7::-1])
# [80, 70, 60, 50, 40, 30, 20, 10]
print(lst[6:0:-2])
# [70, 50, 30]
列表元素的判断和遍历
lst=[10,20,'python','hello']
print(10 in lst)
print(100 in lst)
print(10 not in lst)
print(100 not in lst)
print('python' in lst)
print('Python' in lst)
for item in lst:
print(item)