一、有关列表的基础知识
1.列表:列表是由一系列按特定顺序排列的元素组成。在python中,用方括号([ ])表示列表,并用逗号将列表中的元素分隔开,其中元素用单引号括起来。
bicycles = ['trek', 'cannondale', 'redline', 'specialized']
print(bicycles)
2.访问列表中元素:要访问列表中的元素,首先应指出列表的名称,再指出元素的索引并将其放在方括号内。
注意:python中,列表第一个元素的索引为0;同时为了更加方便的访问元素,可用-1表示最后一个元素的索引,这种约定也适用于其他负数索引。
bicycles = ['trek', 'cannondale', 'redline', 'specialized']
print(bicycles[0] . title())
print(bicycles[-1] . title())
3.练习:使用列表中的各个值
bicycles = ['trek', 'cannondale', 'redline', 'specilized']
message = f"my favorite bicycle is {bicycles[0] . title()}!"
print(message)
二、修改、添加和删除元素
1.修改元素:制定列表的名称和要修改元素的索引,再制定该元素的新值。
motorcycles = ['honda', 'yamaha', 'suzuki']
motorcycles[0] = 'ducati'
2.添加元素
(1)使用方法append()在列表末尾添加元素
motorcycles = ['honda', 'yamaha', 'suzuki']
motorcycles . append('ducati')
(2)使用方法insert()在列表任意位置添加新元素:在进行操作时,需指出新元素的索引和值
motorcycles = ['honda', 'yamaha', 'suzuki']
motorcycles . insert(0, 'ducati')
3.删除元素
(1)已知元素索引情况下,使用del语句进行永久删除,且无法再访问被删除的值
motorcycles = ['honda', 'yamaha', 'suzuki']
del motorcycles[0]
(2)已知元素索引情况下,使用方法pop()对任意位置元素进行删除,且删除后仍能访问被删除的值:若不指定元素的索引,则默认删除列表末尾的元素
motorcycles = ['honda', 'yamaha', 'suzuki']
first_owned = motorcycles . pop[0] # 该步不仅完成了变量的赋值,同时还完成了元素值的删除工作
print(f"the first motorcycle that I bought is {first_owned . title()}")
(3) 在不知道元素索引只知道元素的值时,可使用方法remove()对任意位置元素进行删除,且删除后仍能访问被删除的值
注意:方法remove()只能删去第一个被指定的值,如果要删除的值在列表中出现多次,则需要使用循环来保证每一个值都被删除
motorcycles = ['honda', 'yamaha', 'suzuki']
too_expensive = 'honda'
motorcycles . remove(too_expensive)
print(f"the reason why I don't choose {too_expensive . title()} is too expensive")
三、组织列表
1.使用方法sort()对列表进行永久地按字母表顺序排序,若想反顺序,只需向方法sort()传递参数reverse=True
cars = ['bmw', 'audi', 'subaru', 'toyota']
cars . sort(reverse = True)
2.使用函数sorted()对列表进行临时性的按字母表顺序排序,但不影响它们在原始列表中的排列顺序。
注:若想以反字母表的顺序进行排列,也只需向函数sorted()传递参数reverse=True。但是我不怎么会传,呜呜呜,若有大佬看见,求解答
cars = ['bmw', 'audi', 'toyota', 'subaru']
print(sorted(cars))
3.使用方法reverse()永久地反转列表顺序,但恢复原来的列表顺序也很简单,只需再次调用方法reverse()即可
cars = ['btw', 'audi', 'toyota', 'subaru']
cars . reverse()
4.使用函数len()快速地确定列表的长度
cars = ['bmw', 'audi', 'toyota', 'subaru']
len(cars)