python列表、元组(三)

发布时间:2019-07-15 10:48:02编辑:auto阅读(1254)

    一、列表

    1. 创建列表

    >>> name = ['gao', 'sam', 'snow', 'jey']
    >>> type(name)
    <type 'list'>
    >>> name=list(['gao', 'sam', 'snow', 'jey'])   # python 3.0+ 会报错
    >>> type(name)
    <type 'list'>
    >>> name = []
    >>> type(name)
    <type 'list'>
    >>> name = list()   # python 3.0+ 会报错
    >>> type(name)
    <type 'list'>


    2.  切片  与字符串类似

    >>> name = ['Sam', 'Jey', 'Snow', 'Amy']
    >>> name[2]
    'Snow'
    >>> name[1:]
    ['Jey', 'Snow', 'Amy']
    >>> name[-2:]
    ['Snow', 'Amy']
    >>> name[-1:-3:-1]
    ['Amy', 'Snow']


    3. 追加

    >>> name = ['Sam', 'Jey', 'Snow']
    >>> name.append('Yang')
    >>> name
    ['Sam', 'Jey', 'Snow', 'Yang']


    4. 插入

    >>> name
    ['Sam', 'Jey', 'Snow', 'Yang']
    >>> name.insert(1, 'Long')
    >>> name
    ['Sam', 'Long', 'Jey', 'Snow', 'Yang']


    5.  修改

    >>> name
    ['Sam', 'Long', 'Jey', 'Snow', 'Yang']
    >>> name[2]='Goo'
    >>> name
    ['Sam', 'Long', 'Goo', 'Snow', 'Yang']


    6. 删除

    方法一

    >>> name
    ['Sam', 'Long', 'Goo', 'Snow', 'Yang']
    >>> del name[0]
    >>> name
    ['Long', 'Goo', 'Snow', 'Yang']

    方法二

    >>> name
    ['Long', 'Goo', 'Snow', 'Yang']
    >>> name.remove('Goo')
    >>> name
    ['Long', 'Snow', 'Yang']

    方法三

    >>> name = ['Sam', 'Jey', 'Snow', 'Yang']
    >>> name.pop()
    'Yang'
    >>> name
    ['Sam', 'Jey', 'Snow']
    >>> name.pop(1)
    'Jey'
    >>> name
    ['Sam', 'Snow']

    7. 扩展

    >>> name = ['Sam', 'Jey', 'Snow', 'Yang']
    >>> girls=['Goo', 'Di']
    >>> name.extend(girls)
    >>> name
    ['Sam', 'Jey', 'Snow', 'Yang', 'Goo', 'Di']


    8. 拷贝

    浅拷贝一

    >>> name = ['Sam', 'Jey',['age', 'salary']]
    >>> name2 = name.copy()
    >>> name2
    ['Sam', 'Jey', ['age', 'salary']]
    >>> name[0]='Sam2'
    >>> name[2][0]='age2'
    >>> name
    ['Sam2', 'Jey', ['age2', 'salary']]
    >>> name2
    ['Sam', 'Jey', ['age2', 'salary']]

    浅拷贝二

    >>> name = ['Sam', 'Jey',['age', 'salary']]
    >>> name2=name[:]
    >>> name2
    ['Sam', 'Jey', ['age', 'salary']]
    >>> name[0]='Sam2'
    >>> name[2][0]='age2'
    >>> name
    ['Sam2', 'Jey', ['age2', 'salary']]
    >>> name2
    ['Sam', 'Jey', ['age2', 'salary']]

    浅拷贝三   (只适应python2.0+)

    >>> name = ['Sam', 'Jey', ['age', 'year']]
    >>> name2 = list(name)
    >>> name2
    ['Sam', 'Jey', ['age', 'year']]


    深拷贝

    >>> import copy
    >>> name = ['Sam', 'Jey',['age', 'salary']]
    >>> name2=copy.deepcopy(name)
    >>> name[0]='Sam2'
    >>> name[2][0]='age2'
    >>> name
    ['Sam2', 'Jey', ['age2', 'salary']]
    >>> name2
    ['Sam', 'Jey', ['age', 'salary']]


    9. 统计

    >>> name = ['Sam', 'Jey', 'Sam',1, 9]
    >>> name.count('Sam')
    2


    10. 排序翻转

    >>> name = ['Sam', 'Jey', 'Sam',1, 9]
    >>> name.sort()
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    TypeError: '<' not supported between instances of 'int' and 'str'
    >>> name = ['Sam', 'Jey', 'Sam']
    >>> name.sort()
    >>> name
    ['Jey', 'Sam', 'Sam']
    >>> name = ['Sam', 'Jey', 'Sam','1', '9']
    >>> name.sort()
    >>> name
    ['1', '9', 'Jey', 'Sam', 'Sam']
    >>> name.reverse()
    >>> name
    ['Sam', 'Sam', 'Jey', '9', '1']


    10. 获取下标

    >>> name = ['Sam', 'Jey', 'Sam','1', '9']
    >>> name.index('Jey')
    1
    >>> name.index('aa')
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    ValueError: 'aa' is not in list


    11. 清除

    >>> name = ['Sam', 'Jey', 'Sam','1', '9']
    >>> name.clear()
    >>> name
    []


    二.  元组

    元组就是不可变的列表,只能读取,不能修改

    1. 元组定义

    >>> name=('Sam', 'Gao', 'jey')
    >>> name
    ('Sam', 'Gao', 'jey')
    >>> team=('ops',)
    >>> team
    ('ops',)
    >>> type(team)
    <class 'tuple'>

    2. 切片  与列表类似





关键字

上一篇: Python学习宣誓

下一篇: 45. Python 小练习