美文网首页
Chapter 04:列表操作

Chapter 04:列表操作

作者: 蜜糖_7474 | 来源:发表于2018-12-11 18:57 被阅读0次

    for循环依次遍历

    PS:使用单数和复数式名称,可帮助你判断代码段处理的是单个列表元素还是整个列表

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

    alice
    david
    carolina

    c风格for循环也可以

    for i in range(len(magicians)):
        print(magicians[i])
    

    alice
    david
    carolina

    函数range()可上传一系列数字,不制定首元素,默认从0开始

    print(range(5))
    

    range(0, 5)

    range() 可转化为列表

    PS:生成的列表元素为range的前闭后开区间,这与其他语言保持一致

    numbers = list(range(1,6))
    print(numbers)
    

    [1, 2, 3, 4, 5]

    range接受第三个参数,表示步长,此时必须指明起始位置

    even_numbers = list(range(2,15,2))
    print(even_numbers)
    

    [2, 4, 6, 8, 10, 12, 14]

    步长可以是复数,但记得这样做要保证起始位置大于末尾位置

    odd_numbers = list(range(50,29,-3))
    print(odd_numbers)
    

    [50, 47, 44, 41, 38, 35, 32]

    数值列表简单统计

    print(max(even_numbers), min(numbers), sum(even_numbers))
    

    14 1 56

    列表解析创建列表

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

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

    计算1到1000000的累加和

    sum([value for value in range(1,1000001)])
    

    500000500000

    可以用冒号(:)来进行“切片”操作

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

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

    列表的复制

    my_foods = ['pizza', 'falafel', 'carrot cake']
    friend_foods = my_foods[:]
    print(my_foods)
    print(friend_foods)
    my_foods.append("canoli")
    friend_foods.append("ice cream")
    print(my_foods)
    print(friend_foods)
    

    ['pizza', 'falafel', 'carrot cake']
    ['pizza', 'falafel', 'carrot cake']
    ['pizza', 'falafel', 'carrot cake', 'canoli']
    ['pizza', 'falafel', 'carrot cake', 'ice cream']

    徜若直接用等号(=)进行列表拷贝,将不能得到一个新的列表,这是因为列表名仅是一个指向列表的指针

    类比C的指针赋值,浅拷贝与深拷贝

    self_foods = my_foods
    my_foods.append('ice cream')
    print(my_foods)
    print(self_foods)
    

    ['pizza', 'falafel', 'carrot cake', 'canoli', 'ice cream']
    ['pizza', 'falafel', 'carrot cake', 'canoli', 'ice cream']

    圆括号() 可创建元组,元组是不可改边的列表

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

    200 50

    元组内容不可修改,但是元素本身却可以多次赋值

    dimensions = (400,20)
    print(dimensions[0],dimensions[1])
    

    400 20

    相关文章

      网友评论

          本文标题:Chapter 04:列表操作

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