zoukankan      html  css  js  c++  java
  • python之list

    python中list是一个序列(字符串和元组也是序列),有下标,可以切片,拼接等,list也是一个可变数据类型,即可以修改list的元素的值且list的内存地址不变。

    一.list的定义和遍历使用

    list使用中括号[]来定义

    numbers = ["one", "two", "three", "four", "five"]
    print(type(numbers))
    print(numbers)
    
    输出结果如下
    <class 'list'>
    ['one', 'two', 'three', 'four', 'five']

    由<class 'list'>可看出numbers是一个list列表数据类型,有5个元素,可以直接print打印所有元素

    遍历list列表

    list列表中可以存储不同的数据类型

    但是在开发中,list中通常用来存储相同类型的数据,通过for遍历就可以对每一个数据执行相同的操作

    # 列表遍历
    for i in numbers:
        print(i, end=" ")
    print()
    
    for i, j in enumerate(numbers):
        print(i, j)
    
    输出结果如下
    one two three four five 
    0 one
    1 two
    2 three
    3 four
    4 five

    使用for in结构可以遍历list列表中的每一个成员

    enumerate()函数可以同时显示元素在列表中的下标。

    二.列表的切片和倒序

    列表的切片和str字符串一样,使用list[起始位置:结束位置]可以切取从其实位置下标开始到结束位置下标的前一个元素,起始位置和结束位置可以都不写或写一个

    先看一下切片示例

    numbers = ["one", "two", "three", "four", "five"]
    
    # 列表切片
    print(numbers[1:2])
    print(numbers[:3])
    print(numbers[:])
    print(numbers[::2])
    print(numbers[1::-1])
    print(numbers[::-2])
    
    输出结果如下:
    ['two']
    ['one', 'two', 'three']
    ['one', 'two', 'three', 'four', 'five']
    ['one', 'three', 'five']
    ['two', 'one']
    ['five', 'three', 'one']

    列表的倒序

    通过list本身的方法和切片实现

    numbers = ["one", "two", "three", "four", "five"]
    
    # 列表倒序
    print(numbers[::-1])
    numbers.reverse()
    print(numbers)
    
    输出结果如下
    ['five', 'four', 'three', 'two', 'one']
    ['five', 'four', 'three', 'two', 'one']

    三.list的常用操作

    列表是可变数据类型,也就是说list中的元素值可以修改,修改后查看list的内存地址是不变的;字符串是不可变数据类型,虽然字符串变量的值也可以修改,但其实是在内存中重新开辟了一块空间保存新的字符串,并将字符串变量指向新的地址,所以字符串修改后内存地址是改变的。

    # 验证字符串是可变数据类型
    print
    (id(numbers)) # 打印numbers列表在解释器中的内存地址 numbers.reverse() # 将列表反转 print(numbers) # 反转后打印列表成员 print(id(numbers)) # 再打印numbers列表在解释器中的内存地址,和上一次未修改前比较相同,说明列表是可变数据类型 输出结果如下 1863920966280 [4, 3, 2, 1] 1863920966280

    由于list是可变数据类型,所以有添加,修改,删除成员等操作

    numbers = [1, 2, 3, 4]
    
    # list添加成员
    numbers.append(5)   # 添加成员5到列表最后
    print(numbers)
    numbers.insert(1, 0)    # 在列表下标为1的位置添加成员0
    print(numbers)
    
    输出结果如下
    [1, 2, 3, 4, 5]
    [1, 0, 2, 3, 4, 5]
    numbers = [1, 2, 3, 4]
    
    # list删除成员
    del numbers[0]      # 删除下标0位置的元素,此时numbers = [2, 3, 4]
    numbers.remove(2)   # 删除元素2,此时numbers = [3, 4]
    numbers.pop(0)      # 删除下标0位置的元素,此时numbers = [4]
    print(numbers)      # 打印numbers = [4]
    # del numbers       # 把列表都删掉了
    
    输出结果如下
    [4]
    numbers = [1, 2, 3, 4]
    
    # list 修改元素值
    numbers[0] = "one"  # 将下标0位置的元素重新赋值为"one"
    print(numbers)      # 打印numbers = ["one", 2, 3, 4]
    
    输出结果如下
    ['one', 2, 3, 4]
    # 列表其他操作
    
    numbers = [1, 2, 3, 4]
    
    # list 查询成员
    print(numbers[0])
    
    # list元素个数
    print(numbers.__len__())
    print(len(numbers))
    
    输出结果如下
    1
    4
    4

    四.小结

    type      获取数据类型

    id       查看在解释器中的内存地址

    reverse()    列表反转

    append(e)    添加成员到列表尾部

    insert(index, e) 在指定下标位置插入元素

    remove(e)   删除元素e

    del e       删除元素e

    pop(index)     删除指定下标位置的元素

    len()         求列表的元素个数

    __len__()      求列表的元素个数

  • 相关阅读:
    将 SharePoint 2010 网站集升级到 2013 (含沙盒方案)
    几款网络云存储服务的使用对比
    技术发展飞快,一日十年
    项目背景介绍
    初次接触,简单的了解需求
    用色彩区分 SharePoint 2010 Calendar 的日历项
    嘿,我这里有一个 Survey!
    博客页面在 IE 浏览器中样式混乱了(已经更换了样式)
    关于 Graphviz
    搭建使用 RTX51Tiny 的 C51 Keil 项目环境
  • 原文地址:https://www.cnblogs.com/golinux/p/10776610.html
Copyright © 2011-2022 走看看