第三章 学习笔记
#3.1 列表是什么
#列表是一系列按特定顺序排列的元素组成
#用方括号进行表示,逗号分隔元素
bicycles=['trek','cannondale','redline','special']
print(bicycles)
##这个输出还包含了括号和逗号,不干净不整洁
#3.1 访问列表元素
##通过元素位置或索引来访问
print(bicycles[0])
##获取元素只返回该元素,没有括号和引号
print(bicycles[0].title())
##首字母大写
#3.1.2 索引从0开始而不是1
print(bicycles[1])
print(bicycles[3])
print(bicycles[-1])
##最后一个列表元素将索引定为-1
##在不知道列表长度的情况下,-2表示倒数第二个元素,-3表示倒数第三个
#3.1.3 使用列表中的各个值
#可以使用拼接
message="My first bicycle was a "+bicycles[0].title()+'.'
print(message)
##将bicycles[0]存储在变量message中输出是一个简单的句子
#3.2修改、添加和删除元素
#3.2.1 修改列表元素
#先指定元素的索引,再指定该元素的新值
bicycles[0]='ducati'
print(bicycles)
#在列表中添加元素
# 1.在末尾添加元素
bicycles.append('ducati')
print(bicycles)
##append()将元素'ducati'添加到了末尾,不影响其他元素,
bicycles1=[]
bicycles1.append('honda')
bicycles1.append('yamaha')
bicycles1.append('suzuki')
print(bicycles1)
##可以先建立一个空列表,用append()添加元素
#在列表中插入元素
bicycles1.insert(0,'cucati')
print(bicycles1)
##在0处添加空间,并将元素存入,其他元素都右移一个位置
#3.2.3 从列表中删除元素
del bicycles1[0]
print(bicycles1)
##del语句可以删除任何位置的元素,知道索引,
##使用del后就不可以再访问他了
#2 pop()删除元素
#有的元素删除之后还可以继续使用,
#pop()可删除列表末尾的元素 pop()弹出,(删除末尾元素及弹出栈顶元素)
popped_bicycle=bicycles1.pop()
print(bicycles1)
print(popped_bicycle)
##将最后一个删除,存储在另一个变量里
#pop例子:输出最新买的车
last_owned=bicycles1.pop()
print("The last bicycle owned was a "+last_owned.title()+".")
# 3。弹出列表中任何位置处的元素
first_owned=bicycles1[0]
print("The first bicycle owned was a "+first_owned.title()+".")
##记住啦,当Pop后,被弹出的元素就不在列表中了
## pop()和del()用法区别 判断标准:删除了再也不使用时用del(),还要使用时用pop()
# 4.根据值删除元素
bicycles=['trek','cannondale','redline','special']
print(bicycles)
bicycles .remove('trek')
print(bicycles)
##使用remove()后也可以继续使用它的值,
bicycles=['trek','cannondale','redline','special']
print(bicycles)
too_expensive='redline'
bicycles.remove(too_expensive)
print(too_expensive)
print("\nA "+too_expensive.title()+" is too expensive for me.")
## 注意了:remove()只删除了第一个指定的值,如果这个值在队列里出现了好多次,则要用循环来全部删除
#3.3 组织列表
#3.3.1 使用sort()对队列进行永久性排序
cars=['bmw','audi','toyato','subaru']
print(cars)
cars.sort()
print(cars)
##sort()方法永久性对列表按字母顺序进行排列,再也无法恢复
#按字母顺序相反的进行排序
cars.sort(reverse=True)
print(cars)
##向sort()方法内传递参数reverse=True
#使用函数sorted()对列表进行临时排列
cars=['bmw','audi','toyato','subaru']
print(sorted(cars))
print(cars)
##所以sorted()函数不改变列表原来的排列顺序
##注意啊,老哥 sorted()是函数啊 所以列表的元素要传入函数里呀
print(sorted(cars,reverse=True))
print(cars)
##相反顺序排列向sorted()函数里传入列表和reverse=True
## 注意这里的易错点啦,sort()是方法,sorted()是函数,方法是调用,函数进行数据传递
##并非所有的值都是小写时,排序要麻烦很多,
#3.3.3倒着打印列表
print(cars)
cars.reverse()
print(cars)
##reverse()方法不是按相反字母顺序进行排列,而是直接反转列表元素排列顺序
##reverse()永久性的修改,但是只需要再重新调用reverse()就可以再反转过来
#3.3.4 确定列表的长度
print(len(cars))
##列表包含4个元素,长度为4
##元素计数从1开始
#3.4使用列表时避免索引错误
## 索引错误:list index out of range
##错误举例:
##print(cars[4])
##只有4个元素,而要输出第五个元素,所以并没有这个索引,
#当想访问最后一个元素时,可以直接
#print(cars[-1])
## 但是列表为空时,再用-1进行索引就会导致错误
## 发生索引错误时,可以先打印列表的长度
GOOD LUCK!!!