zoukankan      html  css  js  c++  java
  • [Python Study Notes]列表操作

                         

     列表操作    

                                                                       

    a.切片

     1 >>> names = ["Alex","Tenglan","Eric","Rain","Tom","Amy"]
     2 >>> names[1:4]  #取下标1至下标4之间的数字,包括1,不包括4
     3 ['Tenglan', 'Eric', 'Rain']
     4 
     5 >>> names[1:-1] #取下标1至-1的值,不包括-1
     6 ['Tenglan', 'Eric', 'Rain', 'Tom']
     7 
     8 >>> names[0:3] 
     9 ['Alex', 'Tenglan', 'Eric']
    10 
    11 >>> names[:3] #如果是从头开始取,0可以忽略,跟上句效果一样
    12 ['Alex', 'Tenglan', 'Eric']
    13 
    14 >>> names[3:] #如果想取最后一个,必须不能写-1,只能这么写
    15 ['Rain', 'Tom', 'Amy'] 
    16 
    17 >>> names[3:-1] #这样-1就不会被包含了
    18 ['Rain', 'Tom']
    19 
    20 >>> names[0::2] #后面的2是代表,每隔一个元素,就取一个
    21 ['Alex', 'Eric', 'Tom'] 
    22 
    23 >>> names[::2] #和上句效果一样
    24 ['Alex', 'Eric', 'Tom']

    b.追加

    1 >>> names
    2 ['Alex', 'Tenglan', 'Eric', 'Rain', 'Tom', 'Amy']
    3 
    4 >>> names.append("我是新来的")
    5 
    6 >>> names
    7 ['Alex', 'Tenglan', 'Eric', 'Rain', 'Tom', 'Amy', '我是新来的']

    c.插入

     1 >>> names
     2 ['Alex', 'Tenglan', 'Eric', 'Rain', 'Tom', 'Amy', '我是新来的']
     3 
     4 >>> names.insert(2,"强行从Eric前面插入")
     5 
     6 >>> names
     7 ['Alex', 'Tenglan', '强行从Eric前面插入', 'Eric', 'Rain', 'Tom', 'Amy', '我是新来的']
     8 
     9 >>> names.insert(5,"从eric后面插入试试新姿势")
    10 
    11 >>> names
    12 ['Alex', 'Tenglan', '强行从Eric前面插入', 'Eric', 'Rain', '从eric后面插入试试新姿势', 'Tom', 'Amy', '我是新来的']

    d.修改

    >>> names
    ['Alex', 'Tenglan', '强行从Eric前面插入', 'Eric', 'Rain', '从eric后面插入试试新姿势', 'Tom', 'Amy', '我是新来的']
    
    >>> names[2] = "该换人了"
    
    >>> names
    ['Alex', 'Tenglan', '该换人了', 'Eric', 'Rain', '从eric后面插入试试新姿势', 'Tom', 'Amy', '我是新来的']

    e.删除

     1 >>> del names[2] 
     2 
     3 >>> names
     4 ['Alex', 'Tenglan', 'Eric', 'Rain', '从eric后面插入试试新姿势', 'Tom', 'Amy', '我是新来的']
     5 
     6 >>> del names[4]
     7 
     8 >>> names
     9 ['Alex', 'Tenglan', 'Eric', 'Rain', 'Tom', 'Amy', '我是新来的']
    10 
    11 >>> names.remove("Eric") #删除指定元素
    12 
    13 >>> names
    14 ['Alex', 'Tenglan', 'Rain', 'Tom', 'Amy', '我是新来的']
    15 
    16 >>> names.pop() #删除列表最后一个值 
    17 '我是新来的'
    18 
    19 >>> names
    20 ['Alex', 'Tenglan', 'Rain', 'Tom', 'Amy']

     f.列表合并

    1 >>> names
    2 ['Alex', 'Tenglan', 'Rain', 'Tom', 'Amy']
    3 
    4 >>> b = [1,2,3]
    5 
    6 >>> names.extend(b)
    7 
    8 >>> names
    9 ['Alex', 'Tenglan', 'Rain', 'Tom', 'Amy', 1, 2, 3]

    g.浅copy

    1 >>> names
    2 ['Alex', 'Tenglan', 'Rain', 'Tom', 'Amy', 1, 2, 3]
    3 
    4 >>> name_copy = names.copy()
    5 
    6 >>> name_copy
    7 ['Alex', 'Tenglan', 'Rain', 'Tom', 'Amy', 1, 2, 3]

     h.深copy

    1 import copy
    2 
    3 n1 = [1,2,3]
    4 
    5 n2 = copy.deepcopy(n1)

    i.统计

    1 >>> names
    2 ['Alex', 'Tenglan', 'Amy', 'Tom', 'Amy', 1, 2, 3]
    3 
    4 >>> names.count("Amy")
    5 2

     j.排序

     1 >>> names
     2 ['Alex', 'Tenglan', 'Amy', 'Tom', 'Amy', 1, 2, 3]
     3 >>> names.sort() #排序
     4 Traceback (most recent call last):
     5   File "<stdin>", line 1, in <module>
     6 TypeError: unorderable types: int() < str()   #3.0里不同数据类型不能放在一起排序了,擦
     7 >>> names[-3] = '1'
     8 >>> names[-2] = '2'
     9 >>> names[-1] = '3'
    10 >>> names
    11 ['Alex', 'Amy', 'Amy', 'Tenglan', 'Tom', '1', '2', '3']
    12 >>> names.sort()
    13 >>> names
    14 ['1', '2', '3', 'Alex', 'Amy', 'Amy', 'Tenglan', 'Tom']
    15 
    16 >>> names.reverse() #反转
    17 >>> names
    18 ['Tom', 'Tenglan', 'Amy', 'Amy', 'Alex', '3', '2', '1']

     k.获取下标

    1 >>> names
    2 ['Tom', 'Tenglan', 'Amy', 'Amy', 'Alex', '3', '2', '1']
    3 >>> names.index("Amy")
    4 2 #只返回找到的第一个下标
    最有用的语言,除了English,其次可能是Python
  • 相关阅读:
    [XJOI]noip43 T2多人背包
    Codeforces Round #198 (Div. 2)E题解
    [XJOI]noip40 T2统计方案
    Codeforces Round #198 (Div. 2)C,D题解
    Codeforces Round #198 (Div. 2)A,B题解
    9.19[XJOI] NOIP训练37
    9.18[XJOI] NOIP训练36
    kmp算法详解
    [模板系列] AC自动姬
    luogu1967[NOIP2013D1T3] 货车运输 (最大生成树+LCA)
  • 原文地址:https://www.cnblogs.com/liu66blog/p/8251273.html
Copyright © 2011-2022 走看看