python3学习笔记4--列表简介

  • 列表是什么

列表 是一系列按特定顺序排列的元素组成。你可以创建包含字母表中所有的字母、数字0-9或所有家庭成员姓名的列表;也可以将任何东西加入列表中,其中的元素可以没有任何关系。鉴于列表通常包含多个元素,给列表指定一个表示复数的名称(如letters、digits或 names)是个不错的选择。

在Python中用([])表示列表,并用逗号来分隔其中的元素。例如:

bicycles = ['trek','cannondale','redline','specialized']
print(bicycles)
  • 访问列表元素

列表是有序集合,因此要访问到列表的任何元素,只需将该元素的位置或者索引告诉Python。要访问列表元素,可指出列表的名称,再指出元素的索引,并放在方括号中。

bicycles = ['trek','cannondale','redline','specialized']

print(bicycles[0]) #  返回第一个元素

print(bicycles[0][0]) # 返回第一个元素第一个字母
  • 索引从 0 开始

在Python中,第一个元素的索引为0,而不是1。这与列表底层实现有关。根据这种简单的计数方式,要访问列表的任何元素,都可将其位置减一,并将结果作为索引。

Python为方位最后一个元素提供了一种特殊的语法。通过将索引指定为-1,可让Python返回最后一个列表元素。

bicycles = ['trek','cannondale','redline','specialized']

print(bicycles[-1])  #  返回最后一个元素
  • 使用列表中的各值

可像使用其他变量一样使用列表中的各值。

下面来尝试从列表中提取第一款自行车,并使用这个值来创建一条消息:

bicycles = ['trek','cannondale','redline','specialized']

message = "My first bicycle was a "+bicycles[0].title() + "。"

print(message)
  • 列表练习
namelist = ['Tom','Kilimanjaro','ZhangSan','LiSi']

message = [
           '送你一个惬意的宁静周末,愿你的生活阳光灿烂,爱情柔风细雨,快乐永久长驻,事业欣欣向荣,投资欢欣与鼓舞,家人健康长寿,周末愉快!',
           '注意,注意!今天天气降温,需多穿衣服,多喝水。我的提示没有华丽的词语,只是提醒大家多添衣多喝水。祝大家身体健康。']

for i in range (len(namelist)):

    for j in range (len(message)):

        print (i,j) # 打印所选择的元素

        print("Hello " + namelist[i]+ ' ' + message[j] +"。" ) # 打印对应语句
  • 修改、添加、删除元素

1、修改元素:

修改列表元素的语法与访问列表元素的语法相似。要修改列表元素,可指定列表名和要修改的元素索引,再指定该元素的新值。

motorcycles = ['honda','yamaha','suzuki']

print(motorcycles)

# 根据元素索引进行修改
motorcycles[0] = 'ducati'

print(motorcycles)

2、添加元素

在列表中添加新的元素,最简单的方式是将元素附加到列表末尾。给列表附加元素时,它将添加到列表末尾。

motorcycles = ['honda','yamaha','suzuki']
print(motorcycles)

motorcycles.append('ducati')

print(motorcycles)

3、插入元素

使用insert() 方法可在列表的任何位置添加新元素。

motorcycles = ['honda','yamaha','suzuki']
print(motorcycles)

motorcycles.insert(0,'ducati')

print(motorcycles)
  • 删除元素

1、使用del语句删除元素

如果知道要删除的元素在列表中的位置,可使用del语句;

motorcycles = ['honda','yamaha','suzuki']
print(motorcycles)

# 添加元素
motorcycles.insert(0,'ducati')

print(motorcycles)

# 删除元素
del motorcycles[0]

print(motorcycles)

2、使用pop() 删除元素

方法pop() 可删除列表末尾的元素,并让你能够接着使用它。术语弹出(pop)源自这样的类比:列表就像 一个栈,而删除列表末尾的元素相当于弹出栈顶元素。

motorcycles = ['honda','yamaha','suzuki']

popped_motorcycle = motorcycles.pop()

print(motorcycles)

print(popped_motorcycle)

3、弹出列表中任何位置处的元素

实际上,你可以使用pop() 来删除列表中任何位置的元素,只需在括号中指定要删除的元素的索引即可。

motorcycles = ['honda','yamaha','suzuki']
frist_owned = motorcycles.pop(0)
print('The frist motorcycle I owned was a ' + frist_owned.title() + '。 ')

如果你不确定该使用del 语句还是pop() 方法,下面是一个简单的判断标准:如果你要从列表中删除一个元素,且不再以任何方式使用它,就使用del 语句;如果你要在删除元 素后还能继续使用它,就使用方法pop() 。

4、根据值删除元素

有时候,你不知道要从列表中删除的值所处的位置。如果你只知道要删除的元素的值,可使用方法remove() 。 例如,假设我们要从列表motorcycles 中删除值'ducati' 。

motorcycles = ['honda', 'yamaha', 'suzuki', 'ducati']
print(motorcycles) 
motorcycles.remove('ducati')
print(motorcycles)

注意 方法remove() 只删除第一个指定的值。如果要删除的值可能在列表中出现多次,就需要使用循环来判断是否删除了所有这样的值。你将在第7章学习如何这样做。

  • 组织列表

在你创建的列表中,元素的排列顺序常常是无法预测的,因为你并非总能控制用户提供数据的顺序。这虽然在大多数情况下都是不可避免的,但你经常需要以特定的顺序呈现信 息。有时候,你希望保留列表元素最初的排列顺序,而有时候又需要调整排列顺序。Python提供了很多组织列表的方式,可根据具体情况选用。

  • 使用方法sort()对列表进行永久性排序

Python方法sort() 让你能够较为轻松地对列表进行排序。假设你有一个汽车列表,并要让其中的汽车按字母顺序排列。为简化这项任务,我们假设该列表中的所有值都是小写的。

cars = ['bmw','audi','toyota','subaru']

cars.sort()

print(cars)

方法sort() 永久性修改了列表元素的排序顺序。

按与字母顺序相反的顺序排列列表元素,为此,只需向sort() 方法传递参数reverse=True 。下面的示例将汽车列表按与字母顺序相反的顺序排列:

cars = ['bmw', 'audi', 'toyota', 'subaru']

cars.sort(reverse=True)

print(cars)
  • 使用函数sorted() 对列表进行临时排序

要保留列表元素原来的排列顺序,同时以特定的顺序呈现它们,可使用函数sorted() 。函数sorted() 让你能够按特定顺序显示列表元素,同时不影响它们在列表中的原始排 列顺序。 下面尝试对汽车列表调用这个函数。

cars = ['bmw', 'audi', 'toyota', 'subaru']
print("Here is the original list:")
print(cars) 
print("\nHere is the sorted list:")
print(sorted(cars))
print("\nHere is the original list again:")
print(cars)
  • 倒着打印列表

要反转列表元素的排列顺序,可使用方法reverse() 。假设汽车列表是按购买时间排列的,可轻松地按相反的顺序排列其中的汽车:

cars = ['bmw', 'audi', 'toyota', 'subaru']
print(cars)
cars.reverse()
print(cars)

注意,reverse() 不是指按与字母顺序相反的顺序排列列表元素,而只是反转列表元素的排列顺序:

方法reverse() 永久性地修改列表元素的排列顺序,但可随时恢复到原来的排列顺序,为此只需对列表再次调用reverse() 即可。

  • 确定列表长度

使用函数len() 可快速获悉列表的长度。在下面的示例中,列表包含4个元素,因此其长度为4:

cars = ['bmw', 'audi', 'toyota', 'subaru']
len(cars)
  • 使用列表时避免索引错误

刚开始使用列表时,经常会遇到一种错误。假设你有一个包含三个元素的列表,却要求获取第四个元素:

Traceback (most recent call last):

  File "motorcycles.py", line 3, in 

    print(motorcycles[3])

IndexError: list index out of range

 

你可能感兴趣的:(Python,Python)