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

    1、遍历整个列表

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

    2、创建数值列表

    2.1、使用函数range()

    1 for value in range(1.5):
    2     print(value)  #打印1 2 3 4,不会打印5。

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

     1 numbers = list(range(1,6))  #列表还可以用list1 = list()这个方法创建。
     2 print(numbers)
     3 
     4 #使用range()函数时,还可以制定步长。
     5 even_numbers = list(range(2,11,2))  #取偶数
     6 print(even_numbers)
     7 
     8 odd_numbers = list(range(1,11,2))  #取奇数
     9 print(odd_numbers)
    10 
    11 #求平方数
    12 squares = []
    13 for value in range(1,11):
    14     square = value**2  #将每个数字的平方数储存在变量中
    15     squares.append(square)  #将平方数存储至列表中
    16 
    17 print(squares) #打印列表

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

    1 digits = [1,2,3,4,5,6,7,8,9,10]
    2 print(min(digits))  #求最小值
    3 print(max(digits))  #求最大值
    4 print(sum(digits))  #求和

    2.4、列表解析

    1 squares = [values**2 for value in range(1,11)]  #列表解析将for循环和创建新元素的代码合并成一行,并自动附加新元素。
    2 print(squares)

    2.5、练习题

     1 #使用for循环打印数字1~20(包含)
     2 for v in range(1,21):
     3     print(v)
     4 
     5 #创建一个列表,包含数字1~100 0000,再打印出每个元素。
     6 li = list(range(1,1000001))
     7 for i in li:
     8     print(i)
     9 
    10 #计算1~100 0000相加的总和。
    11 li = list(range(1,1000001))
    12 print(sum(li))
    13 
    14 #创建列表,包含1~20的所有奇数,并打印这些数字。
    15 li = list(range(1,21,2)
    16 for odd in li:
    17     print(odd)
    18 
    19 #创建一个列表,其中包含3~30内能被3整除的数字,并打印出这些数字。
    20 li = []
    21 for i in range(3,31):
    22     if i%3 == 0:  #余数为0,即能被3整除
    23         li.append(i)  #符合条件的数字添加到列表中
    24 
    25 print(li)
    26 for n in li:
    27     print(n)
    28 
    29 '''
    30 方法二
    31 li = list(range(3,31,3))
    32 for i in li:
    33     print(i)
    34 '''
    35 
    36 #创建一个列表,包含前10的整数的立方,并打印立方数。
    37 li = []
    38 for  i in range(1,11):
    39     n = i**3  #将立方赋值给变量
    40     li.append(n)  #变量的值存储到列表中
    41     print(n)
    42 
    43 print(li)
    44 
    45 #立方解析
    46 li = [i**3 for i in range(1,11)]

    3、使用列表的一部分

    3.1 切片

    要使用切片,可指定要使用的第一个元素和最后一个元素的索引。和函数range()一样,Python在到达你指定的第二个索引前面的元素后停止。使用切片得到的结果仍然为列表。

     1 players = ['charles' , 'martina' , 'michael' , 'florence', 'eli']
     2 print(players[0:3])  #打印前三个元素,结果为列表:['charles', 'martina', 'michael']
     3 
     4 print(players[ :4])  #打印前四个元素
     5 
     6 print(players[1: ])  #打印第二个元素至最后一个元素
     7 
     8 print(players[-1: ]) #打印最后一个元素
     9 
    10 print(players[-3:])  #打印最后三个元素
    11 
    12 #遍历切片
    13 players = ['charles' , 'martina' , 'michael' , 'florence', 'eli']
    14 
    15 print("Here are the first three players on my team: ")
    16 for player  in players[ :3]:  #只遍历前三个队员
    17     print(player.title())
    18 
    19 #复制列表
    20 '''
    21 这样做不行!!!!
    22 my_foods = ['pizza','falafel','carrot cake']
    23 friend_foods = my_foods  #这样只是将my_foods赋值给friend_foods,并没有将my_foods的副本存储到friend_foods。这种做法的两个变量都指向同一个列表(同一内存地址)
    24 print(friend_foods)
    25 print(id(my_foods))
    26 print(id(friend_foods)) #内存地址都一样
    27 
    28 my_foods.append('cannoli')  
    29 print(friend_foods)  #跟着变化
    30 friend_foods.append('ice cream') 
    31 print(friend_foods)
    32 print(my_foods)  #跟着变化
    33 '''
    34 
    35 my_foods = ['pizza','falafel','carrot cake']
    36 friend_foods = my_foods[:]  #浅拷贝
    37 print(friend_foods)
    38 print(id(my_foods))
    39 print(id(friend_foods)) #内存地址不一样
    40 
    41 my_foods.append('cannoli')  
    42 print(friend_foods)  
    43 friend_foods.append('ice cream') 
    44 print(friend_foods)
    45 print(my_foods)  #和my_foods不一样
  • 相关阅读:
    C#文件操作与编程
    C# 中字符串转换成日期
    C#数据类型与数据库字段类型对应
    C# 知识点随手学习网站推荐
    Java -- 线程
    Java -- IO
    Java -- Swing 组件使用
    Java -- 乒乓球 乒乓弹球游戏
    Java -- AWT 画图,图像处理
    Java -- AWT 菜单建立, Menu, 右键菜单
  • 原文地址:https://www.cnblogs.com/Druidchen/p/7678058.html
Copyright © 2011-2022 走看看