列表:一系列由顺序的元素
print 列表,则将打印包括方括号的内部表示
3.1访问列表元素—查
bicycles = ['trek','connondale','redline']
print(bicycles[0])
print(bicycles[1].title())
1.列表是有序集合,访问列表元素时,可以使用该元素的位置或索引。只返回该元素,不包括方括号和引号
2.可以对元素调用字符串方法。title(),upper()等
3.索引从0开始,即索引=位置-1;最后一位元素的索引可以为-1,依次倒数第二位元素的索引为-2。
4.可像使用其他变量一样使用列表中的各个值。
bicycles = ['trek','connondale','redline']
message = "my first bicycle was a "+ bicycles[0].title()+"."
print(message)
练习
names = ['anny','helen','mary']
print(names[0])
message = "Hello,"+names[0]+"!"
print(message)
#将朋友的名字储存在列表,并依次访问。为每位朋友打印一条消息。
bicycles = ['trek','connondale','redline']
slogan = "I would like to own a "+bicycles[0]
print(slogan)
#喜欢的通勤方式并打印一系列宣言。
3.2修改、添加、删除元素
创建的列表大多是动态的,即列表创建后将随着程序的运行增删元素。–外星人游戏
motorcycles = ['honda','yamaha','suzuki']
print(motorcycles)
1.修改列表元素:
列表元素=新值
motorcycles[0] = 'ducati'
print(motorcycles)
2.在列表中添加元素:
2.1在列表末尾添加元素:使用append()方法
motorcycles.append('ducati')
print(motorcycles)
可以先创建一个空列表,再使用append()语句添加元素
为控制用户,可以先创建一个空列表用于存储用户将要输入的值,然后将用户提供的每一个新值附加到列表中。
motorcycles =[]
motorcycles.append('honda')
motorcycles.append('yamaha')
motorcycles.append('suzuki')
print(motorcycles)
2.2在列表中任何位置插入元素:方法insert()
需要 指定新元素的索引和值
motorcycles = ['honda','yamaha','suzuki']
motorcycles.insert(0,'ducati')
print(motorcycles)
方法insert() 在索引0处添加空间,并将新值储存在这个地方。
3.从列表中删除元素
根据 位置或值
3.1使用 del语句 删除元素:知道位置/索引
永久删除
motorcycles = ['honda','yamaha','suzuki']
del motorcycles[0]
print(motorcycles)
del motorcycles[0]
print(motorcycles)
3.2使用 方法pop() 删除元素:
3.2.1 弹出末尾元素
3.2.2 弹出列表任意位置元素:pop() + 索引
motorcycles = ['honda','yamaha','suzuki']
poped_motorcycles = motorcycles.pop()#弹出末尾元素
first_owned = motorcycles.pop(0)#弹出索引0处的元素
print(motorcycles)
print(poped_motorcycles)
print(first_owned)
pop()弹出的元素不在列表中,但还可以继续使用它
3.3根据 值 删除元素:方法remove()
1.使用remove()删除元素时,也可以继续使用它的值
2.方法remove()
motorcycles = ['honda','yamaha','suzuki']
motorcycles.remove('suzuki')
print(motorcycles)
练习
names = ['Anny','helen','mary']
print(names)#3-4
absent_name = names[2]
new_names = names.pop()
names.append('sushine')
print(names)
print("The absent people is "+absent_name)#3-5
#practice 3-6
print("I find a bigger table.")
names.insert(0,'ben')
names.insert(2,'babe')
names.append('mike')
print(names)
#practice 3-7
print("I just can invite two people.")
num1 = names.pop()
num2 = names.pop()
names.pop()
names.pop()
print("sorry,"+num1)
print("sorry,"+num2)
print("welcome,"+names[0]+"and"+names[1] )
del names[0]
del names[0]
print(names)
3.3组织列表
1.方法sort() 永久性排序
sort() 按照字母顺序排序
向sort() 方法传递参数 reverse=True ,则按照字母相反顺序排序
cars = ['bmw','audi','toyota','subaru']
cars.sort()
print(cars)
cars.sort(reverse=True)
print(cars)
2.函数 sorted() 临时排序
保留列表原来的排列顺序,并以特定的顺序呈现
如果按照与字母顺序相反的顺序,向函数传递参数 reverse=True
cars = ['bmw','audi','toyota','subaru','subaru']
print("here is the original list:")
print(cars)
print("here is the sorted list:")
print(sorted(cars))
print(sorted(cars,reverse=True))
print("here is the original list:")
print(cars)
3.倒着打印列表 reverse()方法
反转列表元素的排列顺序,是永久性的改变,但再次调用 reverse()即可恢复
cars = ['bmw','audi','toyota','subaru','subaru']
print(cars)
cars.reverse()
print(cars)
4.确定列表长度 函数len()
len(cars)
print(len(cars))
练习 3_8-3_10 放眼世界
sits = ['usa','uk','hk','HaiNan','norway']
print("The original list:")
print(sits)
print("使用sorted()函数,按字母顺序排列,临时改变")
print(sorted(sits))
print(sits)
print("使用sorted()函数,按字母顺序相反顺序排列,临时改变")
print(sorted(sits,reverse=True))
print(sits)
print("使用reverse()方法,列表元素反向排列,永久改变")
sits.reverse()
print(sits)
print("使用reverse()方法,按字母顺序排列,永久改变")
sits.reverse()
print(sits)
print("使用sort()方法,按字母顺序排列,永久改变")
sits.sort()
print(sits)
print("使用sort()方法,按字母顺序相反顺序排列,永久改变")
sits.sort(reverse=True)
print(sits)
3.4 索引错误 IndexError:list index out of range
索引错误意味着Python无法理解指定的索引。
解决方法:将列表长度打印出来
总结
方法:
append()
insert()
pop()
remove()
sort()
reverse()
对列表元素使用字符串方法 title()等
函数:
sorted()
len()
语句:
del