Python中的列表

作者: 忽如寄 | 来源:发表于2017-04-08 01:31 被阅读72次

    在Python中列表类似于数组

    对列表同样可以使用字符串的切片,规则一致

    ls = [1,'1a','huruji']
    ls[1:]
    # ['1a', 'huruji']
    

    有两种方法使得列表反转,一种和字符串一致,另一种使用reversed()方法,这个方法返回一个可迭代的对象

    ls[::-1]
    # ['huruji', '1a',1]
    list(reversed(ls))
    # ['huruji', '1a',1]
    list(reversed('abcd'))
    # ['d','c','b','a']
    

    reversed是一个内建函数,list中有一个reverse()方法同样是用来反转列表的

    list.reverse()
    list
    # ['huruji', '1a',1]
    

    使用len()方法返回列表的长度

    len(ls)
    # 3
    

    使用+操作符连接两个列表

    b = ['xie']
    ls + b
    # [1,'1a','huruji','xie']
    

    使用*操作符重复列表

    ls*2
    # [1,'1a','huruji',1,'1a','huruji']
    

    使用in操作符来判断一个元素是否在列表中

    '1a' in ls
    # True
    

    使用min()、max()方法,当列表中全为数字时,返回相应数学上的最小、最大值,否则,返回ASCII值的最小,最大值对应的元素

    max(ls)
    # huruji
    min(ls)
    # 1
    c = [1,2,3,43,23]
    min(c)
    # 1
    max(c)
    # 43
    d = ['a','A',12,'13']
    min(d)
    # 12
    max(d)
    # a 
    

    cmp()方法比较方式同上,一个一个元素比较,相同则比较下一个,不同则返回,返回结果同字符串中的cmp()方法

    d = ['a','A',12,'13']
    e = ['b']
    cmp(d,e)
    # -1
    

    向列表中追加元素,使用append()方法或者使用a[len(a):]=[x],不同之处在于前者只能一次添加一个元素,后者可以添加多个元素

    num = [1,2,3,4]
    num.append(5)
    num
    # [1,2,3,4,5]
    num[len(num):] = [6,7,8]
    num
    # [1,2,3,4,5,6,7,8]
    

    当然使用extend()方法就实现了上面中的第二种方法

    num = [1,2,3,4]
    num2 = [5,6,7]
    num.extend(num2)
    num
    # [1,2,3,4,5,6,7]
    

    使用count()方法获取某个元素在列表中出现过的次数

    num = [1,1,2,3,3,3,5]
    num.count(1)
    # 2
    num.count('a')
    # 0
    num.count(5)
    # 1
    

    使用index()方法获取某个元素在列表中首次出现的位置的索引

    num.index(1)
    # 0
    num.index(3)
    # 3
    

    使用insert()方法向列表中插入元素,这个方法有两个参数,第一个是要插入的位置的前一个的索引值,所以插入之后,新元素的索引也就是这个值,当这个值大于列表的最大索引值的时候,就是与append()一样的追加操作了,第二个参数是要插入的元素

    num = [1,2,3,4]
    num.insert(2,5)
    num
    # [1,2,5,3,4]
    

    使用pop()方法弹出一个元素,当无参数时,弹出最后一个元素,当有参数时,参数为索引值,则弹出相应的索引值对应的参数

    num.pop()
    # 4
    

    使用remove()方法删除一个元素,如果这个元素不在列表中则报错,如果列表中有多个这个元素,则删除第一个

    num = [1,2,3,4]
    num.remove(2)
    num
    # [1,3,4]
    num.extend([2,2,2])
    num.remove(2)
    num
    # [1,3,4,2,2]
    

    先判断一个元素是否在列表中,再删除

    if 2 in num:
            num.remove(2)
    else:
            print '2 is not in num'
    

    使用sort()方法对列表重新排序

    a = [6,5,7,1,2,3,4]
    a.sort()
    a
    # [1,2,3,4,5,6,7]
    

    相关文章

      网友评论

        本文标题:Python中的列表

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