Python学习笔记3_列表操作

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python学习笔记3_列表操作相关的知识,希望对你有一定的参考价值。

1.1   遍历整个列表

    需要对列表中的每个元素都执行相同的操作时,可使用Python中的for循环。

    如,让Python从列表magicians中取出一个名字,并将其存储在变量magician中。

magicians = [alice, david, carolina]
for magician in magicians:
# Need spaces
    print(magician)   

    for magician in magicians: 让Python获取列表magicians中的第一个值(‘alice‘),并将其存储到变量magician中。接下来,Python读取下一行代码:print(magician).此后,Python获取列表中的下一个名字——‘david‘,并将其存储到变量magician中,再执行下面这行代码。for语句末尾的冒号告诉Python,下一行是循环的第一行。

    技术分享 

    在for循环中,可对每个元素执行任何操作;在for循环后面,没有缩进的代码都只执行一次,而不会重复执行。

magicians = [alice, david]
for magician in magicians:
    print(magician.title() + ", that was a great trick!")
    print("I can‘t wait to see your next trick, " + magician.title() + ".\\n")
print("Thank you, everyone. That was a great magic show!")

    技术分享

1.2   创建数值列表

    1.  使用函数range()

    Python函数range()让你能够轻松地生成一系列的数字。

for value in range(1,5):
        print(value)

    技术分享

    range()只是打印数字1~4,这是你在编程语言中经常看到的差一行为的结果。函数range()让Python从你指定的第一个值开始数,并在到达你指定的第二个值后停止,因此输出不包含第二个值(这里为5)。

    2.  使用range()创建数字列表

    要创建数字列表,可使用函数list()将range()的结果直接转换为列表。如果将range()作为list()的参数,输出将为一个数字列表。使用函数range()时,还可指定步长。

for value in range(1,5):
    even_numbers = list(range(2,11,2))
print(even_numbers)

技术分享

       下面示例,创建了一个空列表squares;接下来,使用函数range()让Python遍历1~10的值。在循环中,计算当前值的平方,并将结果存储到变量square中。然后,将新计算得到的平方值附加到列表squares末尾。最后,循环结束后,打印列表squares。

squares = []
for value in range(1,11):
#   squares.append(value**2)
    square = value**2
    squares.append(square)
print(squares)

技术分享

    3.  对数字列表执行简单的统计计算
digits = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
print(min(digits))
print(max(digits))
print(sum(digits))

    技术分享

1.3  列表解析

       前面介绍的生成列表squares的方式包含三四行代码,而列表解析让你只需编写一行代码就能生成这样的列表。列表解析将for循环和创建新元素的代码合并成一行,并自动附加新元素。

squares = [value**2 for value in range(1,11)]
print(squares)

技术分享

        for循环为for value in range(1,11),它将值1~10提供给表达式value**2。请注意,这里的for语句末尾没有冒号。

1.4  使用列表的一部分

1.4.1  切片

       处理列表的部分元素——Python称之为切片。要创建切片,可指定要使用的第一个元素和最后一个元素的索引。与函数range()一样,Python在到达你指定的第二个索引前面的元素后停止。要输出列表中的前三个元素,需要指定索引0~3,这将输出分别为0、1和2的元素。

players = [charles, martina, michael, florence, eli]
print(players[0:3])

技术分享

1.4.2  遍历切片

    如果要遍历列表的部分元素,可在for循环中使用切片。在下面的示例中,我们遍历前三名队员,并打印他们的名字:

players = [charles, martina, michael, florence, eli]
print("Here are the first three players on my team:")
for player in players[:3]:
    print(player.title())

技术分享

1.4.3  复制列表

    要复制列表,可创建一个包含整个列表的切片,方法是同时省略起始索引和终止索引([:])。这让Python创建一个始于第一个元素,终止于最后一个元素的切片,即复制整个列表。

my_foods = [pizza, falafel, carrot cake]
friend_foods = my_foods[:]
print("My favorite foods are:")
print(my_foods)
print("\\nMy friend‘s favorite foods are:")
print(friend_foods)

技术分享

1.5  元组    

       列表非常适合用于存储在程序运行期间可能变化的数据集。然而,有时候你需要创建一系列不可修改的元素,元组可以满足这种需求。Python将不能修改的值称为不可变的,而不可变的列表被称为元组。

1.5.1  定义元组

       元组看起来犹如列表,但使用圆括号而不是方括号来标识。定义元组后,就可以使用索引来访问其元素,就像访问列表元素一样。

dimensions = (200, 50)
print(dimensions[0])

技术分享

1.5.2  修改元组变量

    虽然不能修改元组的元素,但可以给存储元组的变量赋值。因此,如果要修改前述矩形的尺寸,可重新定义整个元组.

dimensions = (200, 50)
print("Original dimensions:")
for dimension in dimensions:
    print(dimension)
dimensions = (400, 100)
print("\\nModified dimensions:")
for dimension in dimensions:
    print(dimension)

技术分享

       注:很多Python程序员都建议每行不超过80字符。PEP 8中有关行长的指南并非不可逾越的红线,有些小组将最大行长设置为99字符。

 

以上是关于Python学习笔记3_列表操作的主要内容,如果未能解决你的问题,请参考以下文章

Python学习笔记__3.3章 列表生成式

Python学习笔记__3.4章 生成器

python学习笔记列表操作

《python编程-从入门到实践》笔记3_操作列表

Python学习笔记#列表操作常用的函数

Python学习笔记_Day2_数据类型及数据结构(列表和元组)