美文网首页
python基础-列表

python基础-列表

作者: 0893051f5f11 | 来源:发表于2018-08-07 21:25 被阅读0次

    1. 定义

    有序的集合对象,可变的序列

    • []中包含任意对象的有序集合、通过偏移存取、可变长度、异构、支持嵌套
    • 例如:[]; [1, 2, 3]; [0,'1', [3,4],5]

    2. 索引

    • 与字符串类似,取出列表指定偏移量的单个对象,对列表指定索引赋值会原地修改列表
    >>> list = [0,'1', [3,4],5]
    >>> list[2],list[2][0]  
    ([3, 4], 3)  # 多层嵌套列表可以依次索引
    
    >>> list[2][0]=5 # 将5赋值到指定位置
    >>> list
    [0, '1', [5, 4], 5]  # 列表被原地修改
    

    3. 分片

    与字符串类似,提取列表部分内容生成新的列表
    详情请参考字符串:

    >>> list[0:-1]
    [0, '1', [5, 4]]
    >>> list[1:]
    ['1', [5, 4], 5]
    

    4. 列表内置运算

    4.1 + 加法 (合并,生成新列表)

    >>> fruits=['apple','banana','orange']
    >>> list + fruits
    [0, '1', [5, 4], 5, 'apple', 'banana', 'orange']
    

    4.2 * 乘法(重复,生成新列表)

    >>> list*2
    [0, '1', [5, 4], 5, 0, '1', [5, 4], 5]
    

    4.3 len() 计算长度

    >>> len(list)
    4 # 逗号为分隔符,list中有4个对象
    

    4.4 list()列表转换

    括号里面参数为任意可迭代的对象:字符串、元组等

    >>> list('123456')  # 这里的list不是变量名,而是内置函数
    ['1', '2', '3', '4', '5', '6']
    

    4.5 in测试

    >>> 'apple' in fruits
    True
    >>> 'mango' in fruits
    False
    

    5. 列表函数方法

    5.1 往列表中增加对象:

    5.1.1 list.append() 末尾添加对象

    In [3]: 
    names=['James','Emma','Emily','Charli'] 
    names.append('Justin')
    names  #在列表末尾添加对象
    Out[3]:
    ['James', 'Emma', 'Emily', 'Charli', 'Justin']
    

    5.1.2 list.extend() 末尾添加可迭代的对象

    In [4]:
    names.extend(i for i in range(3))
    names # 括号内容为列表推导式,日常使用需加[ ]
    Out[4]:
    ['James', 'Emma', 'Emily', 'Charli', 'Justin', 0, 1, 2]
    

    5.1.3 list.insert() 在列表指定偏移处插入对象

    In [5]:
    names.insert(0,'Tomas')
    names # 按索引0位置,添加对象Tomas
    Out[5]:
    ['Tomas', 'James', 'Emma', 'Emily', 'Charli', 'Justin', 0, 1, 2]
    

    5.2 从列表中删除对象

    5.2.1 list.pop() 移除列表指定偏移的对象并将该对象返回

    In [6]:
    dele = names.pop(-1)  # 返回对象至变量dele
    print('删除的是%s'% dele)
    names 
    删除的是2 
    Out[6]:
    ['Tomas', 'James', 'Emma', 'Emily', 'Charli', 'Justin', 0, 1]
    

    5.2.2 list.remove() 移除列表中某个值的第一个匹配项

    In [7]:
    names.remove('Emma')
    names  # 注意如果有相同对象,只会删除第一个
    Out[7]:
    ['Tomas', 'James', 'Emily', 'Charli', 'Justin', 0, 1]
    

    5.3 对列表中对象排序

    5.3.1 sort()

    In [13]:
    alphabet = ['v','a','t','u','w','a']
    alphabet.sort()
    alphabet
    Out[13]:
    ['a', 'a', 't', 'u', 'v', 'w']
    
    In [14]:
    alphabet.sort(reverse=True) # 降序排列
    alphabet
    Out[14]:
    ['w', 'v', 'u', 't', 'a', 'a']
    

    5.4 列表对象查找

    5.4.1 count() 统计某个对象在列表中出现的次数

    In [15]:
    alphabet.count('a')  #计算字母a的个数
    Out[15]:
    2
    

    5.4.2 index() 从列表中找出某个值第一个匹配项的索引位置

    In [19]:
    print(alphabet)
    alphabet.index('a')
    ['w', 'v', 'u', 't', 'a', 'a']
    Out[19]:
    4
    

    总结:

    1. 和字符串一样,列表也可以做切片操作
    2. 列表是可变对象,注意函数方法使用的时候,是否会改变列表本身。
    微信关注.png

    相关文章

      网友评论

          本文标题:python基础-列表

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