列表
学习目标:学习列表是什么?如何使用列表?
- 列表是什么
列表由一系列按特定顺序排列的元素组成。(建议列表命名使用复数,原因你懂的)。在python中用“[]”来表示列表,并用逗号来分隔其中的元素,如下显示。
week_days= ['Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday']
print(week_days)
['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']
(1)访问列表元素--指出列表的名称和元素的索引,并将其放在方括号内,如下图。
week_days = ['Monday', 'Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday']
print(week_days[0])
Monday
(2)python索引是从0而不是1开始
(3)python为访问最后一个列表元素提供了一种特殊语法--将索引指定为-1,可让python返回最后一个列表元素(同理-2即表示返回倒数第二个列表元素)
(4)列表中的各个值可像使用其他变量一样使用,例如
week_days = ['Monday', 'Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday']
message = "My favorite week day is " + week_days[4] + "."
print(message)
My favorite week day is Friday.
2.如何使用列表
(1)修改列表元素--指定列表名和要修改的元素索引,再指定该元素的新值
(2)在列表中添加元素
a.在列表末尾添加元素--append('需添加元素')
b.在列表中插入元素--insert(新元素索引,‘新元素’)(将既有元素右移一个位置)
c.从列表中删除元素
a)del 可以删除列表中任意位置的元素,但要知道其索引
b)pop() 可弹出列表末尾的元素(类似栈)
c)pop(索引)删除列表中任何位置的元素
d)区分使用pop()还是del语句删除判断准则:
del语句--从列表中删除一个元素,不再以任何方式使用它;
pop()方法--删除语句后还想继续使用
e)remove(‘值’)根据值删除元素(只删除第一个指定的值)
week_days = ['Monday', 'Tuesday','Wednesday','Thursday','Friday',
'Saturday','Sunday']
print(week_days)
del week_days[0]
print(week_days)
last_day = week_days.pop()
print(week_days)
third_day = week_days.pop(1)
print(week_days)
remove_day = 'Friday'
week_days.remove(remove_day)
print(week_days)
['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']
['Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']
['Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']
['Tuesday', 'Thursday', 'Friday', 'Saturday']
['Tuesday', 'Thursday', 'Saturday']
d.组织列表
a)对列表进行永久性排序:sort()按字母顺序排列;sort(recerse=True)按字母相反顺序排列
cars = ['bmw', 'toyota', 'audi', 'subaru']
print(cars)
cars.sort()
print(cars)
cars.sort(reverse=True)
print(cars)
['bmw', 'toyota', 'audi', 'subaru']
['audi', 'bmw', 'subaru', 'toyota']
['toyota', 'subaru', 'bmw', 'audi']
b)对列表进行临时排序--使用sorted(列表名)函数(传递参数reverse=True,可以按字母相反顺序显示列表)
c)反转列表元素的排列顺序--方法reverse()
d)确定列表的长度--函数len(l列表名)