zoukankan      html  css  js  c++  java
  • Python

      列表和元祖是Python 6种内置序列类型中最常见的两种,其中列表是可变序列类型,元祖是不可变序列类型。

    1. 创建列表

    将不同数据项,使用逗号分隔,用中括号括起来,就可以创建列表。

    >>> fruits = ['apple','banana','mango','orange','pear']
    >>> fruits
    ['apple', 'banana', 'mango', 'orange', 'pear']

    使用Python内置函数 len(list) 返回列表长度

    >>> len(fruits)
    5

    我们可以创建没有任何元素的空列表

    >>> cars = []
    >>> cars
    []

    还可以使用内置函数 list(seq) 将其他序列转化为列表

    >>> str = 'Hello'
    >>> list(str)
    ['H', 'e', 'l', 'l', 'o']
    
    >>> tup = (10, 20, 30)
    >>> list(tup)
    [10, 20, 30]

    列表中元素的数据类型可以不同

    >>> multi = ['apple', 10, ('cat', 'dog')]
    >>> multi
    ['apple', 10, ('cat', 'dog')]

    2. 访问列表元素

    通过索引访问列表中的元素,索引从0开始。当访问列表中的元素时,确保索引不要越界,否则会报错。

    >>> fruits = ['apple','banana','mango','orange','pear']
    >>> fruits[0]
    'apple'
    >>> fruits[1]
    'banana'

    索引超出范围时,将返回IndexError错误,确保索引不要越界,最后一个元素的索引是 len(list)-1 

    >>> fruits[5]
    Traceback (most recent call last):
      File "<input>", line 1, in <module>
    IndexError: list index out of range

    最后一个元素的索引还可以用 -1 表示,倒数第2个用 -2 表示,依次类推。

    >>> fruits[-1]
    'pear'
    >>> fruits[-2]
    'orange'

    想知道列表元素的索引,使用列表方法 list.index(obj) ,该方法返回从左到右匹配到的第一个元素的索引。

    >>> fruits.index('orange')
    3

    列表中可能存在重复的元素,使用方法 list.count(obj) 返回某个元素在列表中出现的次数。

    >>> nums = [1, 2, 3, 3, 5, 5, 5]
    >>> nums.count(3)
    2
    >>> nums.count(5)
    3

     

    3. 对列表进行增、删、改等操作

    追加列表元素,方法 list.append(obj) 在列表的末尾追加元素。

    >>> fruits = ['apple']
    >>> fruits
    ['apple']
    >>> fruits.append('banana')
    >>> fruits
    ['apple', 'banana']
    >>> fruits.append('mango')
    >>> fruits.append('orange')
    >>> fruits.append('pea')
    >>> fruits
    ['apple', 'banana', 'mango', 'orange', 'pea']

    将其他序列中的元素追加到列表中,方法 list.extend(seq) 将其他序列中的元素追加到列表末尾

    >>> fruits =  ['apple','banana']
    >>> students = ('xioaming', 'xiaohua')
    >>> fruits.extend(students)
    >>> fruits
    ['apple', 'banana', 'xioaming', 'xiaohua']
    >>> word = 'HELLO' >>> fruits.extend(word) >>> fruits ['apple', 'banana', 'xioaming', 'xiaohua', 'H', 'E', 'L', 'L', 'O']

    插入列表元素,方法 list.insert(index, value) 将元素插入指定索引的位置

    >>> digit = ['10', '11', '12', '13']
    >>> digit.insert(1, '88')
    >>> digit
    ['10', '88', '11', '12', '13']

    通过索引删除列表元素,方法 list.pop() 默认删除列表中最后一个元素,也可以通过索引指定删除列表中的具体元素 list.pop(index) 

    >>> fruits.pop()
    'pea'
    >>> fruits
    ['apple', 'banana', 'mango', 'orange']
    >>> fruits.pop(1)
    'banana'
    >>> fruits
    ['apple', 'mango', 'orange']

    通过元素删除列表元素,方法 list.remove(obj) 删除从左到右匹配到的第一个元素

    >>> fruits = ['apple','banana','mango','orange','pear']
    >>> fruits.remove('banana')
    >>> fruits
    ['apple', 'mango', 'orange', 'pear']
    
    >>> nums = [1, 2, 3, 3, 5, 5, 5]
    >>> nums.remove(3)
    >>> nums
    [1, 2, 3, 5, 5, 5]

    替换列表元素,对对应索引位置的元素重新赋值,就可以替换该元素

    >>> fruits = ['apple','banana','mango','orange','pear']
    >>> fruits[1] = 'dog'
    >>> fruits
    ['apple', 'dog', 'mango', 'orange', 'pear']

    对列表中的元素重新排序,方法 list.sort() 从小到大排序列表中的元素, list.sort(reverse=True) 从大到小排序,该方法是直接改变原列表元素的顺序。

    >>> nums = [0, 5, 3, 2, 4, 1]
    >>> nums.sort()
    >>> nums
    [0, 1, 2, 3, 4, 5]
    
    >>> nums = [0, 5, 3, 2, 4, 1]
    >>> nums.sort(reverse=True)
    >>> nums
    [5, 4, 3, 2, 1, 0]

    反转列表中元素顺序,方法 list.reverse() 对原列表元素反向排序

    >>> fruits = ['apple','banana','mango','orange','pear']
    >>> fruits.reverse()
    >>> fruits
    ['pear', 'orange', 'mango', 'banana', 'apple']

    合并列表,使用“+”可以将多个列表合并为一个新的列表

    >>> fruits =  ['apple','banana']
    >>> nums = [1, 2, 3]
    >>> students = ['xiaoming', 'xiaohua']
    >>> fruits + nums + students
    ['apple', 'banana', 1, 2, 3, 'xiaoming', 'xiaohua']

    截取列表,使用语句 list[N1:N2] 截取列表索引为N1到N2-1的元素形成新列表

    >>> nums = [10, 11, 12, 13, 14, 15]
    >>> nums[2:5]
    [12, 13, 14]

    在Python中,使用赋值语句将列表a赋值给列表b,其实只是简单的对象引用,a和b指向的是同一片内存区域,相当于b是a的别名而已

    >>> a = [10, 11, 12, 13]
    >>> b = a
    >>> a is b
    True
    >>> a[1] = 88
    >>> a
    [10, 88, 12, 13]
    >>> b
    [10, 88, 12, 13]

    复制列表,要真正的将a列表的元素复制给b列表,而不是引用,需要使用方法 list.copy(list) 

    >>> a = [10, 11, 12, 13]
    >>> b = a.copy()
    >>> a is b
    False
    >>> a[1] = 88
    >>> a
    [10, 88, 12, 13]
    >>> b
    [10, 11, 12, 13]

    清空列表,方法 list.clear() 清空列表元素

    >>> fruits = ['apple','banana','mango','orange','pear']
    >>> fruits.clear()
    >>> fruits
    []
    Andraw|朱标
  • 相关阅读:
    linux常用命令
    mysql 开发基础系列20 事务控制和锁定语句(上)
    sql server 性能调优之 资源等待 CXPACKET
    mysql 开发基础系列19 触发器
    mysql 开发基础系列18 存储过程和函数(下)
    mysql 开发基础系列17 存储过程和函数(上)
    sql server 性能调优之 资源等待PAGEIOLATCH
    mysql 开发基础系列16 视图
    mysql 开发基础系列15 索引的设计和使用
    sql server 性能调优之 当前用户请求分析 (1)
  • 原文地址:https://www.cnblogs.com/zhubiao/p/9396133.html
Copyright © 2011-2022 走看看