zoukankan      html  css  js  c++  java
  • 操作列表

    我们在上一篇博客中已经知道如何访问列表的元素,现在我们可以了解到如何遍历列表等一些操作列表的操作

    1. 列表的遍历

    使用for循环遍历列表

    names = ["小梦","小黑","小白","小欧"]
    for name in names  :
     print(name+", 有10000万????")
    

     输出

    小梦, 有10000万????
    小黑, 有10000万????
    小白, 有10000万????
    小欧, 有10000万????

    这样遍历可以遍历成千上万的元素。在代码上作出这样的添加就会输出不同的效果

    names = ["小梦","小黑","小白","小欧"]
    for name in names  :
      print(name+", 有10000万????")
      print("不是吧??")
    
    print("小梦有!!!")
    

     输出:

    这样的结果是由于代码缩进原因。

    当我们在不该缩进的地方缩进

    eg

    运行会有这样的报错

      File "C:/Users/20253/PycharmProjects/myPython/liebiao.py", line 2
        for name in names  :
        ^
    IndentationError: unexpected indent    ===== 缩进错误:意外缩进

    当我们在需要缩进的时候没有缩进

    就会有这样的报错

      File "C:/Users/20253/PycharmProjects/myPython/liebiao.py", line 3
        print(name+", 有10000万????")
            ^
    IndentationError: expected an indented block      ====缩进错误:需要缩进块

    2. 创建数值列表

    2.1 使用range()打印出数字1-4

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

    输出:

    1
    2
    3
    4

    2.2  使用range()创建数字列表

    可以使用list()函数将range()的结果转为列表

    将range()作为list()的参数

    numbers = list(range(1,5))

    print (numbers)

    输出

    [1, 2, 3, 4]

    代码打印 1-10 的偶数

    numbers = list(range(2,11,2))
    print (numbers)
    

    在这个示例中,函数range()从2开始数,然后不断地加2,直到达到或超过终值(11),因此

    输出

    [2, 4, 6, 8, 10]

    将1-10的平方添加到一个列表中

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

     输出

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

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

     也可以这样 使代码变得简洁

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

    轻松的找出列表中的最大值  最小值  总和

    number = [1,2,3,4,5,6,7,8,9,10]
    print(sum(number))
    print(min(number))
    print(max(number))
    

     输出

    55
    1
    10

    列表解析

    前面介绍的生成列表squares的方式包含三四行代码,而列表解析让你只需编写一行代码就能生成这样的列表。

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

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

     要使用这种语法,首先指定一个描述性的列表名,如squares2;然后,指定一个左方括号,
    并定义一个表达式,用于生成你要存储到列表中的值。在这个示例中,表达式为value**2,它计
    算平方值。接下来,编写一个for循环,用于给表达式提供值,再加上右方括号。在这个示例中,

    for循环为for value in range(1,11),它将值1~10提供给表达式value**2。请注意,这里的for
    语句末尾没有冒号。
    结果与前面看到的平方数列表相同:

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

    3.  使用列表的一部分

    处理列表的部分元素——Python称之为切片

     3.1 切片

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

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

    输出

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

     代码打印该列表的一个切片,其中只包含三名队员。输出也是一个列表,其中包含前
    三名队员

    如果没有指定开始的索引 那么Python自动从列表开头开始

    print(players[:2])

    输出

    ['charles', 'martina']

    如果想让切片截取到列表的末尾,就省略终止索引

    print(players[2:])

    输出

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

    如果你要输出名单上的最后两名队员,可使用切片players[-2:]

    输出

    ['florence', 'eli']

    3.2  遍历切片

    遍历名单前三位队员

    for value in players[:3] :
        print(value.title())
    

     输出

    Charles
    Martina
    Michael

    3.3  复制列表

    有时候我们需要将列表的全部元素复制到另一个列表中。例如我喜欢吃的零食我闺蜜都喜欢吃。

    my_foods = ["可乐","蛋糕","薯条","奶茶","炸鸡"]
    print("I like :")
    print(my_foods)
    friend_foods = my_foods[:]
    print("friend like :")
    print(friend_foods)
    

    输出

     I like :
    ['可乐', '蛋糕', '薯条', '奶茶', '炸鸡']
    friend like :
    ['可乐', '蛋糕', '薯条', '奶茶', '炸鸡']

    4. 元组

            列表非常适合用于存储在程序运行期间可能变化的数据集。列表是可以修改的,这对处理网
    站的用户列表或游戏中的角色列表至关重要。然而,有时候你需要创建一系列不可修改的元素,
    元组可以满足这种需求。

    4.1  Python将不能修改的值称为不可变的,而不可变的列表被称为元组

    元组看起来就像列表 但是元组使用小括号()而不是方括号来标识。定义完元组之后就可以使用索引来访问元组,就像访问列表一样

    定义一个长度不会改变的矩形,可以将其长宽保存到元组中,从而确保他们是不可修改的

    dimensions = (200,90)
    print(dimensions[0])
    print(dimensions[1])
    

     输出

    200
    90

    尝试改变矩形长度的值 

    dimensions[0]=250

    运行报错

    200
    90
    Traceback (most recent call last):
      File "C:/Users/20253/PycharmProjects/myPython/dimensions.py", line 5, in <module>
        dimensions[0] =250
    TypeError: 'tuple' object does not support item assignment   ==类型错误:“tuple”对象不支持项分配

    代码试图修改矩形的尺寸时,Python报告错误

    4.2 遍历元组的所有值

    dimensions = (200,90)
    for value in dimensions :
        print(value)
    

     输出

    200
    90
    4.3 修改元组变量

    虽然不能修改元组的元素,但是可以给存储元组的变量赋值

    dimensions = (200,90)
    print("Original dimensions:")
    for dimension in dimensions:
     print(dimension)
    dimensions = (400, 100)
    print("
    Modified dimensions:")
    for dimension in dimensions:
     print(dimension)
    

     我们首先定义了一个元组,并将其存储的尺寸打印了出来 ;接下来,将一个新元组
    存储到变量dimensions中;然后,打印新的尺寸 。这次,Python不会报告任何错
    误,因为给元组变量赋值是合法的。

    输出

    Original dimensions:
    23
    10

    Modified dimensions:
    400
    100

  • 相关阅读:
    Linux shell 学习总结
    linux shell 比较总结
    NSURL基本操作 HA
    Mac node.js install HA
    nodejs学习资料收集 HA
    xcode技巧 HA
    google web app/enxtions 学习资料收集 HA
    Failed to upload *.app on Device 可能的解决方法 HA
    iphone开发常见问题小集2 HA
    cocos2d收集 HA
  • 原文地址:https://www.cnblogs.com/cuixiaomeng/p/10374778.html
Copyright © 2011-2022 走看看