美文网首页
python基础2-列表

python基础2-列表

作者: 牧_青 | 来源:发表于2023-05-05 19:17 被阅读0次

    1、列表

    1.1 创建列表

    Python使用[]表示列表,并用逗号隔开其中的元素

    bicycles = ['trek', 'cannodale', 'redline', 'specialized']
    print(bicycles)
    

    1.2 访问列表元素

    列表是有序的,使用下标访问列表元素,索引下标是从0开始而不是从1开始

    同时,Python为访问最后一个列表元素提供了一种特殊语法,通过将索引指定为-1,可以让python返回最后一个元素,同样-2表示倒数第二个元素,以此类推

    print(bicycles[0])   //输出列表的首个元素
    print(bicycles)      //输出整个列表
    

    1.3 修改,添加和删除元素

    1.3.1 修改元素

    修改元素,可以直接指定列表名和索引号,然后直接赋予新值即可

    bicycles = ['trek', 'cannodale', 'redline', 'specialized']
    bicycles[0] = "ducati"
    print(bicycles)
    

    1.3.2 在列表中添加元素

    1. 在列表末尾添加元素

      motorcycles = ['honda', 'yamaha', 'suzuki']
      motorcycles.append('ducati')
      print(motorcycles)
      
    2. 在列表中插入元素

      motorcycles = ['honda', 'yamaha', 'suzuki']
      motorcycles.insert(0, 'ducati')
      print(motorcycles)
      
    3. 列表中删除元素

      motorcycles = ['honda', 'yamaha', 'suzuki']
      print(motorcycles)
      
      // 使用del删除元素
      del motorcycles[0]
      print(motorcycles)
      
      // 使用pop()删除元素
      popped_motorcycle = motorcycles.pop()
      print(motorcycles)
      print(popped_motorcycle)
      // 使用pop()弹出任何位置的元素
      first_owned = motorcycles.pop(0)
      print('the first motorcycle I owned was a ' + first_owned.title() + '.')
      
      // remove()函数根据值删除元素
      too_expensive = motorcycles.remove('ducati')
      print(motorcycles)
      

    1.4 组织列表

    1. 使用sort()对列表进行永久排序

      // 按字母正序排列
      cars = ['bmw', 'audi', 'toyota', 'subaru']
      cars.sort()
      print(cars)
      
      // 按字母顺序相反进行排序
      cars = ['bmw', 'audi', 'toyota', 'subaru']
      cars.sort(reverse=True)
      print(cars)
      
    2. 使用sorted()对列表进行临时排序

      只临时改变列表中元素的顺序,列表中元素实际顺序保持不变

      cats = ['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:")
      prin(cars)
      
    3. 使用reverse()倒着打印列表

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

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

    1.5 列表长度

    使用len()可快速获知列表长度

    cars = ['bmw', 'audi', 'toyota', 'subaru']
    len(cars)
    

    1.6 遍历列表

    使用for循环,遍历列表中的元素

    magicians = ['alice', 'david', 'carolina']
    for magician in magicians:
      print(magician)
    

    在for循环中,想包含多少行代码都可以,但是要注意缩进。

    python根据缩进来判断行与前一个代码行的关系。注意不要忘记for语句最后的冒号:

    1.7 创建数值列表

    1.7.1 使用range()

    1. 生成数字

      range(first_num, last_num)函数可以轻松生成一系列的数字, 打印出的为[first_num, last_num),不包含last_num

    for value in range(1, 5)
    print(value)              // 该条语句只会打印1, 2, 3, 4 不包含5
    
    1. 创建数组列表

      numbers = list(range(1, 6))
      print(numbers)
      
    2. 使用range()时,还可以制定步长

      even_numbers = list(range(2, 11, 2))
      print(even_numbers)  // 打印从2到10的偶数
      

    1.8 对数字进行简单的统计计算

    digits = [1, 2, 3, 4, 5, 6, 7, 8, 9]
    // 最小值
    min(digits)
    max(digits)
    sum(digits)
    

    1.9 列表解析

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

    squares = [value*2 for value in range(1, 11)]
    
    // 表达式为value*2
    // 编写一个for循环,用于给表达式提供值
    

    1.10 使用列表的一部分

    1.10.1 切片定义

    要创建切片,可指定要使用的第一个元素和最后一个元素的索引。与range()一样,python在到达指定的第二个索引前面的元素后停止。

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

    1.10.2 遍历切片

    使用for循环使用切片

    players = ['charles', 'martina', 'michael', 'florence', 'eli']
    
    for player in players [:3]:
      print(player.title())
    

    1.11 复制列表

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

    my_foods = ['pizza', 'falafel', 'carrot']
    firend_foods = my_foods[:]
    
    print("My favorite foods are:")
    print(my_foods)
    
    print("\nMy friend`s favorite foods are:")
    print(frient_foods)
    
    // 注意与以下情况的区别, 这种不是将my_foods的副本存放在friend_foods中
    // 可以只简单理解为friend_foods指针指向了my_foods
    friend_foods = my_foods
    

    1.12 元组

    1.12.1 定义元组

    元组为一系列不可修改的元素

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

    1.12.2 遍历元组

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

    dimensions = (200, 50)
    for dimension in dimensions:
      print(dimension)
    

    1.12.3 修改元组变量

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

    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基础2-列表

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