zoukankan      html  css  js  c++  java
  • 读书笔记「Python编程:从入门到实践」_4.操作列表

    4.1 遍历整个列表

      4.1.1 深入地研究循环 

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

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

    1 magicians = ['alice', 'david', 'carolina']
    2 for magician in magicians:
    3     print(magician.title() + ", that was a great trick!")
    4     print("I can't wait to see your next trick, " + magician.title() + ".
    ")
    View Code
    Alice, that was a great trick!
    I can't wait to see your next trick, Alice.
    
    David, that was a great trick!
    I can't wait to see your next trick, David.
    
    Carolina, that was a great trick!
    I can't wait to see your next trick, Carolina.

      循环的两个重点,一个是冒号,一个是缩进,另外使用单数和复数式名称,可帮助你判断代码段处理的是单个列表元素还是整个列表。

    for xxx in xxxs:
        print(xxx)  

    4.2 避免缩进错误

      4.2.1 忘记缩进

      对于位于for 语句后面且属于循环组成部分的代码行,一定要缩进。如果你忘记缩进,Python会提醒你:IndentationError: expected an indented block
      4.2.2 忘记缩进额外的代码行

      如果你预期某项操作将针对每个列表元素都执行一次,但它却只执行了一次,请确定是否需要将一行或多行代码缩进。
      4.2.3 不必要的缩进

      如果你不小心缩进了无需缩进的代码行,Python将指出这一点:IndentationError: unexpected indent
      4.2.4 循环后不必要的缩进

      如果你不小心缩进了应在循环结束后执行的代码,这些代码将针对每个列表元素重复执行。
      4.2.5 遗漏了冒号

      for 语句末尾的冒号告诉Python,下一行是循环的第一行。
    4.3 创建数值列表
      4.3.1 使用函数range()

      Python函数range() 让你能够轻松地生成一系列的数字
      4.3.2 使用range()创建数字列表

      要创建数字列表,可使用函数list() 将range() 的结果直接转换为列表

      使用函数range() 时,还可指定步长。打印1~10内的偶数:range(2,11,2)

      使用函数range() 几乎能够创建任何需要的数字集

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

      有几个专门用于处理数字列表的Python函数.min(),max(),sum()

      4.3.4 列表解析

      将for 循环和创建新元素的代码合并成一行,并自动附加新元素。

     1 # 打印2-10之间的偶数
     2 for value in range(1,11,2):
     3     print(value)
     4 # 以队列的形式打印1-5
     5 print(list(range(1,6)))
     6 # 打印1-10的平方
     7 squares=[]
     8 for value in range(1,11):
     9     squares.append(value**2)
    10 print(squares)
    11 #打印1-10平方中的最小值
    12 print(min(squares))
    13 #打印1-10平方中的最大值
    14 print(max(squares))
    15 #打印1-10平方的和
    16 print(sum(squares))
    17 #列表解析
    18 lists=[v**2 for v in range(1,10)]
    19 print(lists)
    View Code

    结果

    1
    3
    5
    7
    9
    [1, 2, 3, 4, 5]
    [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
    1
    100
    385
    [1, 4, 9, 16, 25, 36, 49, 64, 81]
    

    4.4 使用列表的一部分

      4.4.1 切片

      要创建切片,可指定要使用的第一个元素和最后一个元素的索引。 list[strIndx:endIndx]

      如果你没有指定第一个索引,Python将自动从列表开头开始,print(players[:4])

      如果你没有指定第一个索引,Python将自动到列表结尾结束。print(players[2:]), print(players[-3:])

      4.4.2 遍历切片

      如果要遍历列表的部分元素,可在for 循环中使用切片    for player in players[:3]:
      4.4.3 复制列表

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

      a=b[:]  a复制了b    a=b  a和b指向了同一个列表

     1 tList=['aaa','bbb','ccc','ddd','eee','fff']
     2 #打印index1到3元素(不含3)
     3 print(tList[1:3])
     4 #打印index0到3元素(不含3)
     5 print(tList[:3])
     6 #打印index3到最后的元素
     7 print(tList[3:])
     8 #打印倒数3个元素
     9 print(tList[-3:])
    10 #打印index1到3元素(不含3)
    11 for t in tList[1:3]:
    12     print(t+"	")
    13 #t2List和tList指向同一个队列
    14 t2List=tList
    15 tList.pop()
    16 t2List.pop()
    17 print(tList)
    18 print(t2List)
    19 #t3List复制了t2List
    20 t3List=t2List[:]
    21 t2List.pop()
    22 print(t2List)
    23 print(t3List)
    View Code

    结果

    ['bbb', 'ccc']
    ['aaa', 'bbb', 'ccc']
    ['ddd', 'eee', 'fff']
    ['ddd', 'eee', 'fff']
    bbb	
    ccc	
    ['aaa', 'bbb', 'ccc', 'ddd']
    ['aaa', 'bbb', 'ccc', 'ddd']
    ['aaa', 'bbb', 'ccc']
    ['aaa', 'bbb', 'ccc', 'ddd']
    

    4.5 元组

      4.5.1 定义元组

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

      尝试修改元组dimensions 中的一个元素。TypeError: 'tuple' object does not support item assignment
      4.5.2 遍历元组中的所有值

      像列表一样,也可以使用for 循环来遍历元组中的所有值:
      4.5.3 修改元组变量

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

    1 tList=('aaa','bbb','ccc','ddd','eee','fff')
    2 for t in tList:
    3     print(t)
    4 print(tList[1])
    5 tList[1]='xxxx'
    View Code

    结果

    aaa
    bbb
    ccc
    ddd
    eee
    fff
    bbb
      File "C:/Users/changxininjp/PycharmProjects/helloworld/helloworld.py", line 5, in <module>
        tList[1]='xxxx'
    TypeError: 'tuple' object does not support item assignment
    

    4.6 设置代码格式

      4.6.1 格式设置指南

      Python改进提案 (Python Enhancement Proposal,PEP)。PEP 8是最古老的PEP之一

      代码被阅读的次数比编写的次数多

      4.6.2 缩进

      PEP 8建议每级缩进都使用四个空格,这既可提高可读性,又留下了足够的多级缩进空间。
      4.6.3 行长

      很多Python程序员都建议每行不超过80字符。
      4.6.4 空行

      要将程序的不同部分分开,可使用空行。你应该使用空行来组织程序文件,但也不能滥用;
      4.6.5 其他格式设置指南

      https://python.org/dev/peps/pep-0008/

  • 相关阅读:
    jquery实现选项卡(两句即可实现)
    常用特效积累
    jquery学习笔记
    idong常用js总结
    织梦添加幻灯片的方法
    LeetCode "Copy List with Random Pointer"
    LeetCode "Remove Nth Node From End of List"
    LeetCode "Sqrt(x)"
    LeetCode "Construct Binary Tree from Inorder and Postorder Traversal"
    LeetCode "Construct Binary Tree from Preorder and Inorder Traversal"
  • 原文地址:https://www.cnblogs.com/changxinblog/p/9756883.html
Copyright © 2011-2022 走看看