zoukankan      html  css  js  c++  java
  • 13_Python数据类型字符串加强_Python编程之路

    前面已经跟大家讲了python的数据类型,但是没有深入去讲,这一节我们深入了解python数据类型的使用

    列表数据类型有很多方法,我们在这里一一跟大家介绍

    1.append

    方法append用于将一个对象附加到列表末尾。

    例如以下代码

    In [1]: my_list = [1, 2, 3, 4]
    
    In [2]: my_list.append(5)
    
    In [3]: my_list
    Out[3]: [1, 2, 3, 4, 5]
    

     注意append和其他方法一样,只修改列表,不返回值

    2.clear

    方法clear就地清空列表的内容

     例如以下代码

    In [4]: my_list = [1, 2, 3, 4]
    
    In [5]: my_list.clear()
    
    In [6]: my_list
    Out[6]: []
    

     通过切片也能实现这个功能

    In [7]: my_list = [1, 2, 3, 4]
    
    In [8]: my_list[:] = []
    
    In [9]: my_list
    Out[9]: []
    

    3.copy

    copy用于复制列表,但要注意,他只是将一个变量关联到这个列表

    下面只是通过赋值实现简单的复制

    In [10]: my_list = [1, 2, 3, 4]
    
    In [11]: other_list = my_list
    
    In [12]: other_list
    Out[12]: [1, 2, 3, 4]
    

     要让my_list和other_list指向不同的列表,就必须用到copy

    例如以下代码

    In [15]: my_list = [1, 2, 3, 4]
    
    In [16]: other_list = my_list.copy()
    
    In [17]: other_list
    Out[17]: [1, 2, 3, 4]
    
    In [18]: other_list[0] = 'one'
    
    In [19]: other_list
    Out[19]: ['one', 2, 3, 4]
    
    In [20]: my_list
    Out[20]: [1, 2, 3, 4]
    

     可以看出两个列表指向的不是同一个内存地址

    4.count

    计算指定的元素在列表中出现了多少次

    In [21]: word_list = ['to', 'be', 'or', 'not', 'to', 'be']
    
    In [22]: word_list.count('to')
    Out[22]: 2
    

     注意,对于多维列表,情况会有点不同

    In [23]: multi_list = [1, [1, 2], 1, [1, 2 ,3]]
    
    In [24]: multi_list.count(1)
    Out[24]: 2
    
    In [25]: multi_list.count([1,2])
    Out[25]: 1
    

    5.extend

    可以将多个值附加到列表末尾,也就是说可以将两个列表连接,或者是说你可使用一个列表去扩展另一个列表

    In [26]: a_list = [1, 2]
    
    In [27]: b_list = [3, 4]
    
    In [28]: a_list.extend(b_list)
    
    In [29]: a_list
    Out[29]: [1, 2, 3, 4]
    

     这看起来有点像下面这几行代码,将两个列表连接

    In [30]: a_list = [1, 2]
    
    In [31]: b_list = [3, 4]
    
    In [32]: a_list + b_list
    Out[32]: [1, 2, 3, 4]
    

     但是要注意的是这里并不能直接把结果赋值

    除了使用上面的extend方法外,我们还可以使用切片操作

    In [39]: a_list = [1, 2]
    
    In [40]: b_list = [3, 4]
    
    In [41]: a_list[len(a_list):] = b_list
    
    In [42]: a_list
    Out[42]: [1, 2, 3, 4]
    

     但不得不说可读性太差了

    6.index

    方法index在列表中查找指定值第一次出现的索引

    例如以下代码

    In [43]: my_list = [1, 2, 'susmote', 'ayesup', 'ayesup', 'susmote', 2, 1]
    
    In [44]: my_list.index('susmote')
    Out[44]: 2
    

     在这里要强调一下,index只是查找出第一次出现的索引

    7.insert

    方法insert用于将一个对象插入列表

    例如以下代码

    In [46]: my_list = [1, 2, 3, 4, 6]
    
    In [47]: my_list.insert(4, 5)
    
    In [48]: my_list
    Out[48]: [1, 2, 3, 4, 5, 6]
    

     注意第一个参数是索引,第二是插入的值,插入的值在索引的前面

    也可以使用切片完成以上操作

    In [51]: my_list = [1, 2, 3, 4, 6]
    
    In [52]: my_list[4:4] = [5]
    
    In [53]: my_list
    Out[53]: [1, 2, 3, 4, 5, 6]
    

    8.pop

    删除一个元素,默认为最后一个元素,最后会返回这个元素

    例如以下代码

    In [54]: my_list = [1, 2, 3, 4, 5]
    
    In [55]: my_list.pop()
    Out[55]: 5
    
    In [56]: my_list
    Out[56]: [1, 2, 3, 4]
    
    In [57]: my_list.pop(0)
    Out[57]: 1
    
    In [58]: my_list
    Out[58]: [2, 3, 4]
    

    pop是唯一既修改列表又返回一个非None值的列表方法。

    使用pop可实现一种常见的数据结构——栈(stack),这个在后面的文章中的我会讲到,这里不做详细说明

    9.remove

    删除第一个为指定值的元素

    例如以下代码

    In [59]: word_list = ['to', 'be', 'or', 'not', 'to', 'be']
    
    In [60]: word_list.remove('to')
    
    In [61]: word_list
    Out[61]: ['be', 'or', 'not', 'to', 'be']
    

    10.reverse

    方法reverse按相反的顺序排列列表中的元素

    In [62]: my_list = [1, 2, 3, 4, 5]
    
    In [63]: my_list.reverse()
    
    In [64]: my_list
    Out[64]: [5, 4, 3, 2, 1]
    

    如果要按相反的顺序迭代序列,可使用函数reversed。这个函数不返回列表,而是返回 一个迭代器(迭代器将在第9章详细介绍)。你可使用list将返回的对象转换为列表。

    例如以下代码

    In [65]: my_list = [1, 2, 3, 4, 5]
    
    In [66]: list(reversed(my_list))
    Out[66]: [5, 4, 3, 2, 1]
    

    11.sort

    方法sort用于对列表就地排序,但并不返回值

    例如

    In [68]: my_list = [ 7, 4, 3, 5, 8, 9, 1]
    
    In [69]: my_list.sort()
    
    In [70]: my_list
    Out[70]: [1, 3, 4, 5, 7, 8, 9]
    

     由于没有返回值,所以如果需要方便的将排序的值赋给一个变量,可以使用函数sorted

    In [71]: my_list = [ 7, 4, 3, 5, 8, 9, 1]
    
    In [72]: other_list = sorted(my_list)
    
    In [73]: my_list
    Out[73]: [7, 4, 3, 5, 8, 9, 1]
    
    In [74]: other_list
    Out[74]: [1, 3, 4, 5, 7, 8, 9]
    

    注意,对于sort他是有两个可选参数的:key 和 reverse

    key代表你排序依照的关键字

    reverse指出是否要按相反的顺序对列表进行排序, True 或者 False

    例如下面两段代码

    key = len

    In [75]: word_list = ['aardvark', 'abalone', 'acme', 'add', 'aerate']
    
    In [76]: word_list.sort(key=len)
    
    In [77]: word_list
    Out[77]: ['add', 'acme', 'aerate', 'abalone', 'aardvark']
    

     reverse = True

    In [78]: my_list = [ 7, 4, 3, 5, 8, 9, 1]
    
    In [79]: my_list.sort(reverse=True)
    
    In [80]: my_list
    Out[80]: [9, 8, 7, 5, 4, 3, 1]
    

    欢迎访问我的博客网 www.susmote.com

  • 相关阅读:
    聊聊mysql中的int(1)
    如何有效防止sql注入
    微信小程序WXML页面常用语法(讲解+示例)
    Spring Boot 2.x基础教程:使用集中式缓存Redis
    基于.NetCore3.1系列 —— 日志记录之自定义日志组件
    精讲RestTemplate第10篇-使用代理作为跳板发送请求
    使用Java API进行tar.gz文件及文件夹压缩解压缩
    精讲RestTemplate第9篇-如何通过HTTP Basic Auth认证
    精讲RestTemplate第8篇-请求失败自动重试机制
    精讲RestTemplate第7篇-自定义请求失败异常处理
  • 原文地址:https://www.cnblogs.com/susmote/p/8922536.html
Copyright © 2011-2022 走看看