zoukankan      html  css  js  c++  java
  • Python基础(二):列表常用方法

    注:以下代码在ipython下实现,这种交互模式在练习基础知识是非常方便的。

    增加

    append()方法用于在python的列表的末尾增加内容。

    In [1]: li1=[1,2,3]
    
    In [2]: li1.append('hello')
    
    In [3]: li1
    Out[3]: [1, 2, 3, 'hello']
    
    In [4]: li1.append(['a'])
    
    In [5]: li1
    Out[5]: [1, 2, 3, 'hello', ['a']]
    
    In [6]: li1.append(('tuple1'))
    In [8]: li1=[1,2,3]
    
    In [9]: li1.append(('tuple1,'))
    
    In [10]: li1
    Out[10]: [1, 2, 3, 'tuple1,']

    insert(index,object)方法可以在特定位置插入元素,index代表索引下标。

    In [11]: li1=[1,2,3]
    
    In [12]: li1.insert(1,'hello')
    
    In [13]: li1
    Out[13]: [1, 'hello', 2, 3]

    extend(iterable)方法可插入可迭代的对象。

    In [14]: li1=[1,2,3]
    
    In [15]: li1.extend('abc')
    
    In [16]: li1
    Out[16]: [1, 2, 3, 'a', 'b', 'c']
    
    In [17]: li1.extend(['d','e'])
    
    In [18]: li1
    Out[18]: [1, 2, 3, 'a', 'b', 'c', 'd', 'e']

    删除

    clear()方法可以清空整个列表。

    In [19]: li1=[1,2,3]
    
    In [20]: li1.clear()
    
    In [21]: li1
    Out[21]: []

    pop([index])方法可以弹出任意位置的元素值并且会返回删除的值,其中index索引下标是可选参数,若不选代表删除最后一个值。

    In [23]: li1=[1,2,3,5,'hello','python']
    
    In [24]: li1.pop()
    Out[24]: 'python'
    
    In [25]: li1
    Out[25]: [1, 2, 3, 5, 'hello']
    
    In [26]: li1.pop(2)
    Out[26]: 3
    
    In [27]: li1
    Out[27]: [1, 2, 5, 'hello']

    remove(object)方法可以移除列表中的元素,若列表中有多y个值与要删除的元素的值相同,则只会移除匹配的第一个值。

    In [29]: li1=[1,2,3,3,3,4,'hello']
    
    In [30]: li1
    Out[30]: [1, 2, 3, 3, 3, 4, 'hello']
    
    In [31]: li1.remove(3)
    
    In [32]: li1
    Out[32]: [1, 2, 3, 3, 4, 'hello']
    
    In [33]: li1.remove('hello')
    
    In [34]: li1
    Out[34]: [1, 2, 3, 3, 4]

    查找

    index(value,[start,[stop]])可以查找目标元素值并返回索引值,其中start和stop为可选参数,代表要查找元素的范围。

    In [35]: li1=[1,2,3,3,3,4,'hello']
    In [36]: li1.index(4) Out[36]: 5 In [37]: li1.index(3) #相同元素返回第一个索引值 Out[37]: 2 In [38]: li1.index(3,4,6) Out[38]: 4 In [39]: li1.index(3,0,2) #范围原则左闭右开,查找不到报错 --------------------------------------------------------------------------- ValueError Traceback (most recent call last) <ipython-input-39-e5b4c08d3bc9> in <module>() ----> 1 li1.index(3,0,2) ValueError: 3 is not in list

    count()方法会统计元素出现的次数并返回。

    In [40]: li1=[1,2,3,3,3,4,'hello']
    
    In [41]: li1.count(3)
    Out[41]: 3

    其他方法

    copy()复制列表中的内容,copy()方法会新开辟一个空间存入复制的列表值,而与“=”不同,“=”是与原列表的地址空间相同,是一种引用。注意下面id()方法后面的值,id()方法返回列表的地址空间。

    In [42]: li1=[1,2,3]
    
    In [43]: li2=li1.copy()
    
    In [44]: li2
    Out[44]: [1, 2, 3]
    
    In [45]: id(li1)
    Out[45]: 3028819948
    
    In [46]: id(li2)
    Out[46]: 3028875340
    
    In [47]: li3=li1
    
    In [48]: li3
    Out[48]: [1, 2, 3]
    
    In [49]: id(li3)
    Out[49]: 3028819948

    reverse()方法会将列表反序。

    In [50]: li1=[1,2,3]
    
    In [51]: li1.reverse()
    
    In [52]: li1
    Out[52]: [3, 2, 1]

    sort(key=None,reverse=False)方法对列表进行永久性排序,sorted()方法对列表进行临时排序。

    In [54]: li1.sort()
    
    In [55]: li1
    Out[55]: ['a', 'c', 'd', 'u', 'z']
    
    In [56]: li1=['a','c','z','u','d']
    In [59]: li1=['a','c','z','u','d']
    
    In [60]: li1
    Out[60]: ['a', 'c', 'z', 'u', 'd']
    
    In [61]: sorted(li1)
    Out[61]: ['a', 'c', 'd', 'u', 'z']
    
    In [62]: li1
    Out[62]: ['a', 'c', 'z', 'u', 'd']

    降序排序

    In [59]: li1=['a','c','z','u','d']
    
    In [60]: li1
    Out[60]: ['a', 'c', 'z', 'u', 'd']
    
    In [61]: sorted(li1)
    Out[61]: ['a', 'c', 'd', 'u', 'z']
    
    In [62]: li1
    Out[62]: ['a', 'c', 'z', 'u', 'd']
    #字符串与数字无法排序,可是有key的参数来解决
    In [66]: li1=[1,2,'a','x','c','w'] In [67]: li1.sort() --------------------------------------------------------------------------- TypeError Traceback (most recent call last) <ipython-input-67-e7369f1ac399> in <module>() ----> 1 li1.sort() TypeError: unorderable types: str() < int() In [68]: li1.sort(key=str) In [69]: li1 Out[69]: [1, 2, 'a', 'c', 'w', 'x']
    In [75]: li1=['1','4',6,5,9,2]
    
    In [76]: li1.sort(key=int)
    
    In [77]: li1
    Out[77]: ['1', 2, '4', 5, 6, 9]

    常用的列表方法就这些,如有不当之处欢迎批评指正。

  • 相关阅读:
    Servlet3.0注解配置访问路径和urlParttern配置
    Servlet生命周期和方法
    Jsoup快速查询
    XML解析——Jsoup解析器
    XML解析
    XML约束
    XML基础——extensible markup language
    不使用注解和使用注解的web-service-dao结构
    注解@Component方式代替xml装配bean
    信息检索中的各项评价指标
  • 原文地址:https://www.cnblogs.com/austinjoe/p/9365331.html
Copyright © 2011-2022 走看看