美文网首页
第四:操作列表

第四:操作列表

作者: 萝卜豆豆 | 来源:发表于2019-03-21 15:10 被阅读0次

    4.1 遍历整个列表

    输入:

    # 4.1 遍历整个列表

    # for循环打印魔术师名单中的所有名字

    magicians = ['alice','davide','caroina','duoduo','qianqian']

    # 下面一行代码让python获取列表magicians中的第一个值('alice'),并将其存储到变量magician中。 接下来python读取代码print(magician),接着循环到开始

    for magicianin magicians:

    print(magician)

    # 4.1.1 深入的研究循环“让计算机完成重复工作”

    cats  = ['a','b','c']

    dogs = ['d','e','f']

    items = ['g','h','i']

    for catin cats:

        for dogin dogs:

            for itemin items:

                  print(cat)

                  print(dog)

                  print(item)

    # 4.1.2 在for循环中执行更多的操作

    # 在for循环中对每个元素执行任何操作

    magicians = ['alice','davide','carolina']

    for magicianin magicians:

           print(magician.title() +",that was a great trick!")

    # 4.1.3 在for循环结束后执行一操作

    magicians = ['alice','davide','carolina']

    for magicianin magicians:

           print(magician.title() +",that was a great trick!")

           print("I can't wait to see your next trick, " + magician.title() )

            print("Thank you,everyone. Thant was a great magic show!" +"\n")

    # PS最后一个print没有缩行

    magicians = ['alice','davide','carolina']

    for magicianin 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. Thant was a great magic show!")

    PS:使用for循环处理数据是一种对数据集执行整体操作的不错的方式。例如,你可以使用for循环初始化游戏——遍历角色列表,将每个角色显示在屏幕上面。再在循环后面添加一个不缩进的代码块,在屏幕上绘制所有角色后显示一个Play Now按钮。

    输出:

    # 4.1 遍历整个列表

    # for循环打印魔术师名单中的所有名字

    alice

    davide

    caroina

    duoduo

    qianqian

    # 4.1.1 深入的研究循环“让计算机完成重复工作”

    a

    d

    g

    a

    d

    h

    a

    d

    i

    a

    e

    g

    a

    e

    h

    a

    e

    i

    a

    f

    g

    a

    f

    h

    a

    f

    i

    b

    d

    g

    b

    d

    h

    b

    d

    i

    b

    e

    g

    b

    e

    h

    b

    e

    i

    ......

    # 4.1.2 在for循环中执行更多的操作

    # 在for循环中对每个元素执行任何操作

    Alice,that was a great trick!

    Davide,that was a great trick!

    Carolina,that was a great trick!

    # 4.1.3 在for循环结束后执行一操作

    Alice,that was a great trick!

    I can't wait to see your next trick, Alice

    Thank you,everyone. Thant was a great magic show!

    Davide,that was a great trick!

    I can't wait to see your next trick, Davide

    Thank you,everyone. Thant was a great magic show!

    Carolina,that was a great trick!

    I can't wait to see your next trick, Carolina

    Thank you,everyone. Thant was a great magic show!

    # PS最后一个print没有缩行
    Alice,that was a great trick!

    I can't wait to see your next trick, Alice

    Davide,that was a great trick!

    I can't wait to see your next trick, Davide

    Carolina,that was a great trick!

    I can't wait to see your next trick, Carolina

    Thank you,everyone. Thant was a great magic show!

     4.2 避免缩进错误

    代码缩进让代码整洁而结构清晰,在python程序中,你将看到缩进成度个不相同的代码块,使我们对代码组织结构进行认识。

    输入:

    # 4.2 避免缩进错误“python根据缩进来判断代码与前一个代码行的关系”

    # 4.2.1 忘记缩进

    图一

    # 4.2.2 忘记缩进额外的代码行

    # 有时候循环正常运行并不会报错,结果却是去恰恰相反

    magicians = ['alice','davide','carolina']

    for magicianin magicians:

    print(magician.title() +",that was a great trick!")

    print("I cant't waite to see your next trick, " + magician.title() +".\n")

    PS:这是一个逻辑错误,从语法看这些python代码合法,但是存在逻辑错误,不符合预期。

    # 4.2.3 不必要的缩进

    不小心缩进了无须缩进的代码回报错,如图一所示。

    #4.2.4 循环后不必要的缩进

    不小心缩进了应在循环结束后执行的代码,这些代码将针对每个列表元素重复执行。可能会导致语法错误,但大多数会造成逻辑错误。不符合预期。

    # 4.2.5 遗漏了冒号

    图2


    输出:

    # 4.2 避免缩进错误“python根据缩进来判断代码与前一个代码行的关系”

    # 4.2.1 忘记缩进

    # 4.2.2 忘记缩进额外的代码行

    Alice,that was a great trick!

    Davide,that was a great trick!

    Carolina,that was a great trick!

    I cant't waite to see your next trick, Carolina.

    PS:这是一个逻辑错误,从语法看这些python代码合法,但是存在逻辑错误,不符合预期。

    # 4.2.3 不必要的缩进

    不小心缩进了无须缩进的代码回报错,如图一所示。

    #4.2.4 循环后不必要的缩进

    不小心缩进了应在循环结束后执行的代码,这些代码将针对每个列表元素重复执行。可能会导致语法错误,但大多数会造成逻辑错误。不符合预期。

    # 4.2.5 遗漏了冒号,如图2所示


    4.3 创建数字列表


    输入:

    # 4.3.1 使用函数range(),生成一系列数字。

    # 从1开始到4结束

    for valuein range(1,5):

    print(value)

    # 4.3.2 使用range创建数字列表# 创建数字列表使用函数list()将range()的结果直接转换为列表。如果将range()作为list()参数,输出将为一个数字列表。

    number = list(range(1,6))

    print(number)

    # 使用函数range(),指定步长。例如:打印1-10内偶数# 从2开始数,不断的+2,直到达到或者超过终值(11),因此输出如下:

    even_number = list(range(2,11,2))

    print(even_number)

    # 创建一个包含前10个整数(即1-10)的平方,(**)表示乘方运算。

    squars = []for value in range(1,11):

    squar = value ** 2

    #立即将结果附加到列表squares

    squars.append(squar)

    print(squars)

    # 4.3.3 对数字列表执行简单的统计计算

    # 找出数字列表的最大值,最小值和总和

    digits =  [1,2,3,4,5,6,7,8,9,0]

    print(min(digits))

    print(max(digits))

    print(sum(digits))

    # 4.3.4 列表解析[化繁为简]同上1-10的乘方

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

    print(squares)


    输出:

    # 4.3.1 使用函数range(),生成一系列数字。

    # 从1开始到4结束

    1

    2

    3

    4

    # 4.3.2 使用range创建数字列表# 创建数字列表使用函数list()将range()的结果直接转换为列表。如果将range()作为list()参数,输出将为一个数字列表。

    [1, 2, 3, 4, 5]

    # 使用函数range(),指定步长。例如:打印1-10内偶数# 从2开始数,不断的+2,直到达到或者超过终值(11),因此输出如下:

    [2, 4, 6, 8, 10]

    # 创建一个包含前10个整数(即1-10)的平方,(**)表示乘方运算。

    [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

    # 4.3.3 对数字列表执行简单的统计计算

    # 找出数字列表的最大值,最小值和总和

    0

    9

    45

    # 4.3.4 列表解析[化繁为简]

    [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

    4.4 使用列表的一部分


    输入:

    错误图展示

    # 4.4 使用列表的一部分

    # 处理的列表部分元素——称之为pytho中的切片

    创建切片,可指定要使用的第一个元素的索引和最后一个元素的索引+1

    # 4.4.1 切片

    players = ['charles','martina','michael','florence','eli']

    print(players[0:3])

    # 提取2-4个元素,可将起始索引指定为1 ,并将种植索引指定为4:

    players = ['charles','martina','michael','florence','eli']

    print(players[1:4])

    #由于没有指定起始索引,python从列表开头开始提取。

    print(players[:4])

    #从列表第4或者2个元素到列表末尾的所有元素。

    print(players[4:])

    print(players[2:])

    #名单最后3名队员

    print(players[-3:])

    # 4.4.2 遍历切片

    players = ['charles', 'martina', 'michael', 'florence', 'eli']

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

    print("Here are the first three players on my team:")

    for playerin players[:3]:

    print(player.title())

    # 4.4.3 复制列表

    # 根据既有列表创建全新的列表。要复制整个列表,可创建一个包含的整个列表的切片,方法:同时省略起始索引+终止索引([:])

    # 这让python创建一个始于第一个元素终止于最后一个元素的切片,即复制整个列表。

    my_foods = ['pizzy','apple','bananas']

    friend_foods = my_foods[:]

    # 此行代码是行不通的——friend_foods = my_foods,这样我们在两个列表各添加不同食物,2会种食物分别出现都出现在两个列表,并不是我们想要的结果。

    my_foods.append('cannoli')

    friend_foods.append('ice cream')

    print("My favorite foods are:")

    print(my_foods)

    print("\nMy friend's favorite foods are:")

    print(friend_foods)


    输出:

    # 4.4.1 切片

    ['charles', 'martina', 'michael']

    # 提取2-4个元素,可将起始索引指定为1 ,并将种植索引指定为4:

    ['martina', 'michael', 'florence']

    ['charles', 'martina', 'michael', 'florence']

    #从列表第4或者2个元素到列表末尾的所有元素。

    ['eli']

    ['michael', 'florence', 'eli']

    #名单最后3名队员

    ['michael', 'florence', 'eli']

    # 4.4.2 遍历切片

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

    Here are the first three players on my team:

    Charles

    Martina

    Michael

    # 4.4.3 复制列表

    # 根据既有列表创建全新的列表。要复制整个列表,可创建一个包含的整个列表的切片,方法:同时省略起始索引+终止索引([:])

    # 这让python创建一个始于第一个元素终止于最后一个元素的切片,即复制整个列表。

    My favorite foods are:

    ['pizzy', 'apple', 'bananas', 'cannoli']

    My friend's favorite foods are:

    ['pizzy', 'apple', 'bananas', 'ice cream']


    4.5元祖

    列表适合用于存储在程序运行期间可能变化的数据集。列表是可以修改的,对处理网站的用户列表或者游戏中的角色列表至关重要。那么,需要创建一系列不可修改的元素,元祖可以满足这种需求。Python将这种不可修改的值称为:不可变的,而不可变的列表被称为:元组。


    输入:

    # 4.5.1 定义元组

    dimension = (200,50)

    print(dimension[0])

    print(dimension[1])

    # 我们首先定义了元组dimension,为此我们使用了圆括号而非方括号。

    # 接下来,我们分别打印该元组的各个元素,使用的语法与访问列表元素时使用的语法相同。

    # 接下来尝试修改元组dimension中的一个元素,看看结果。

    dimension = (200,50)

    dimension[0] =250

    # 试图修改第一个元素的值,python试图阻止,返回python类型错误信息。

    # 修改元组的操作被禁止,因此Python指出不能给元组的元素赋值:

    # 由于试图修改元祖的操作被禁止,因此python指出不能给元组的元素赋值

    # 4.5.2 遍历元组中的所有值

    dimensions = (200,50)

    for dimensionin dimensions:

    print(dimension)

    # 修改元组变量

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

    dimension = (200,50)

    print("Original dimensions:")

    for dimensionin dimensions:

    print(dimension)

    dimensions = (400,100)

    print("\nModified dimensions:")

    for dimensionin dimensions:

    print(dimension)

    # 将新元组存储到变量dimensions中,然后打印新尺寸,python不会报任何错误,因为元组变量赋值时合法的。

    # 相比列表,元祖是简单的数据结构。如国需要存储的一组值在程序的整个生命周期内都不变,可使用元组。

    输出:

    # 4.5.1 定义元组

    200

    50

    # 4.5.2 遍历元组中的所有值

    200

    50

    Original dimensions:

    200

    50

    Modified dimensions:

    400

    100

    4.6 设置代码格式

    4.6.1 格式设置指南

    4.6.2 缩进

    4.6.3 行长(每行<=80字符)有些小组将最大行长社设置为99行

    4.6.4 空行

    将程序不同部分分开,可使用空行。

    4.6.5 其他格式设置指南

    参考人民邮电出版社《Python 编程从入门到实践》【美】Eric Matthes 著 袁国忠 译

    欢迎吐槽!!!

    相关文章

      网友评论

          本文标题:第四:操作列表

          本文链接:https://www.haomeiwen.com/subject/ppvwmqtx.html