参考文档 https://docs.python.org/zh-cn/3.7/tutorial/introduction.html#lists

"""

DATA STRUCTURE

Container: Sequence

—— String、List & Tuple

List can be Changed or Updated. But, Tuple can not be.

To define a list, you can use symbol '[ ]', tuple use symbol '( )'

数据结构

容器:序列

—— 字符串、列表 & 元组

列表是可变序列。而元组不可以。

定义一个列表,可以使用符号'[ ]',元组则使用符号'( )'

"""


列表的用法

  • 作为 list 用

    见演示代码

  • 作为队列用

    队列 (queue) 作为一种线性的数据结构,其特点是 FIFO (先进先出),队列只能在队头做删除操作,在队尾做插入操作。

    在 Python 中,如果需要用到队列,则需要使用 collections.deque() 。deque 为双端队列,即在队头和队尾均可进行插入或删除操作。

  • 作为栈用

    栈(stack) 作为一种线性的数据结构,其特点是 FILO (先进后出),其限定只能在栈顶进行插入和删除操作。

    栈顶与栈底:允许元素插入与删除的一端称为栈顶,另一端称为栈底。

    压栈:栈的插入操作,叫做进栈,也称压栈、入栈。

    弹栈:栈的删除操作,也叫做出栈。

    在 Python 中,使用 list.append() 即为压栈;使用 list.pop() 即为出栈,注意该方法是返回出栈的内容。


演示代码

  1. #! /usr/bin/python
  2. # coding:utf-8
  3. class ListAction:
  4. def __init__(self):
  5. pass
  6. @staticmethod
  7. def list_init():
  8. greeting = [None]
  9. print(greeting)
  10. @staticmethod
  11. def list_index():
  12. # note: Do not be out of range
  13. # 注意:别越界
  14. greeting = 'hello'
  15. print(greeting[0])
  16. @staticmethod
  17. def list_slicing():
  18. greeting = 'hello'
  19. print(greeting[2:3])
  20. @staticmethod
  21. def list_slicing_step():
  22. # note: the third num means the step.The num is 1 Default.
  23. # 注意:第三位数意味着步长,默认步长为1
  24. greeting = 'hello'
  25. print(greeting[::2])
  26. @staticmethod
  27. def list_connect():
  28. greeting = 'hello'
  29. friend = 'world'
  30. print(greeting + '' + friend)
  31. @staticmethod
  32. def list_repeat():
  33. greeting = 'hello'
  34. print(greeting * 3)
  35. @staticmethod
  36. def list_in():
  37. greeting = input("Input one character:")
  38. if 'o' in str(greeting):
  39. print(True)
  40. elif 'O' not in str(greeting):
  41. print('O is not in the list')
  42. else:
  43. print('Input character O')
  44. @staticmethod
  45. def list_length():
  46. greeting = input("Input something,I can calculate the length:")
  47. # 字符串拼接。注意类型须相同
  48. print('OK, Length is' + ' ' + str(len(greeting)))
  49. @staticmethod
  50. def to_list(para):
  51. print(list(para))
  52. @staticmethod
  53. def list_to_string(lst):
  54. try:
  55. to_string = ''.join(lst)
  56. print(to_string)
  57. except TypeError:
  58. print('must be string-list')
  59. @staticmethod
  60. def act():
  61. lst = list()
  62. lst.append('li')
  63. lst.extend(['st'])
  64. print(lst)
  65. if __name__ == '__main__':
  66. ListAction.list_init()
  67. ListAction.list_index()
  68. ListAction.list_slicing()
  69. ListAction.list_repeat()
  70. ListAction.list_slicing_step()
  71. ListAction.list_in()
  72. ListAction.list_connect()
  73. ListAction.list_length()
  74. ListAction.to_list('HELLO')
  75. ListAction.list_to_string(lst=['1', '2'])
  76. ListAction.act()

对列表进行分段

  1. In [1]: def te():
  2. ...: a = [1,2,3,4,5,6,7,8,9]
  3. ...: matrix = []
  4. ...: for i in range(0,len(a),5):
  5. ...: matrix.append(a[i:i+5])
  6. ...: print(matrix)
  7. ...:
  8. In [2]: te()
  9. [[1, 2, 3, 4, 5], [6, 7, 8, 9]]

对两个列表的处理

可参考文档 https://blog.csdn.net/muumian123/article/details/81979084

  1. 求列表的差集-属于 A 列表,不属于 B 列表
  2. 方法一:
  3. In [9]: def te():
  4. ...: a = set([1,2,3])
  5. ...: b = set([2,3,4])
  6. ...: print(list(a-b))
  7. ...:
  8. In [10]: te()
  9. [1]
  10. 方法二:
  11. In [11]: def te():
  12. ...: a = [1,2,3]
  13. ...: b = [2,3,0]
  14. ...: for i in a:
  15. ...: if i not in b:
  16. ...: print(i)
  17. ...:
  18. In [12]: te()
  19. 1

[每日一讲] Python系列:列表与元组的更多相关文章

  1. [每日一讲] Python系列:字典

    #! /usr/bin/python # coding:utf-8 """ DATA STRUCTURE Container: Mapping (Another cont ...

  2. [每日一讲] Python系列:字符串(下)

    字符串的常见操作 """ DATA STRUCTURE Container: Sequence -- String String is immutable.If stri ...

  3. [每日一讲] Python系列:Python概述

    Python 序章 概述 Python 是弱类型动态解释型的面向对象高级语言,其具备面向对象的三大特点:封装.继承.多态.Python 代码运行时,其有一个编译过程,通过编译器生成 .pyc 字节码 ...

  4. [每日一讲] Python系列:数字与运算符

    数字(数值)型 Python 数字数据类型用于存储数值.数据类型是不可变(immutable)的,这就意味着如果改变数字数据类型的值,将重新分配内存空间. Python 支持三种不同的数值类型: 整型 ...

  5. [每日一讲] Python系列:字符串(上)

    字符串作为人类最常处理的内容,在计算中决定了其占有重要的地位.在 Python 中,字符串的操作和处理往往需要根据实际问题,结合其他操作才可以完成目标.在复杂世界仅仅是字符串 API 还无法完成工作. ...

  6. Python基础------列表,元组的调用方法

    Python基础------列表,元组的调用方法@@@ 一. 列表 Python中的列表和歌曲列表类似,也是由一系列的按特定顺序排列的元素组成的,在内容上,可以将整数,实数,字符串,列表,元组等任何类 ...

  7. Python中列表,元组,字典,集合的区别

    参考文档https://blog.csdn.net/Yeoman92/article/details/56289287 理解Python中列表,元组,字典,集合的区别 列表,元组,字典,集合的区别是p ...

  8. Python基础-列表、元组、字典、字符串

    Python基础-列表.元组.字典.字符串   多维数组 nums1 = [1,2,3] #一维数组 nums2 = [1,2,3,[4,56]] #二维数组 nums3 = [1,2,3,4,['a ...

  9. Python:列表,元组

    一.列表 和字符串一样,列表也是序列类型,因此可以通过下标或者切片操作访问一个或者多个元素.但是,不一样的,列表是容器类型,是可以进行修改.更新的,即当我们进行修改列表元素,加入元素等操作的时候,是对 ...

随机推荐

  1. java:异常机制(try,catch,finally,throw,throws,自定义异常)

    * String类中的格式化字符串的方法: * public static String format(String format, Object... args):使用指定的格式字符串和参数返回一个 ...

  2. Hibernate 持久化对象和一级缓存

    关于如何手动创建Hibernate,Hibernate初了解已经介绍了,接下来了解持久化对象和一级缓存. Hibernate的持久化类有三种状态: 1.Transient瞬时态:持久化对象没有唯一标识 ...

  3. cocos2dx基础篇(6) 定时器schedule/update

    定时器在大部分游戏中是不可或缺的,即每隔一段时间,就要执行相应的刷新体函数,以更新游戏的画面.时间.进度.敌人的指令等等.cocos2dx为我们提供了定时器schedule相关的操作.其操作函数的定义 ...

  4. tomcat报错解决方法

    tomcat报错如 关闭被占用的进程 解决方法:cmd进入控制台,输入命令netstat   -ano|findstr  8005 (什么端口号被占用就输入什么号),回车  发现是进程2044占用了这 ...

  5. HCL试验2

    PC端配置:配置ip地址 交换机1配置:①创建VLAN system-view vlan 10 vlan 20 ②配置PC端接口 interface gi 1/0/1 port link-type a ...

  6. python基础--面向对象初始

    # 类与对象,类是类别.种类,是面向对象设计中最重要的概念, # 对象是特征与技能的结合体, # 类是一系列对象相似特征与技能的结合体 # 例如:人是一个类,而我本人是一个对象,手,脚,是我的特征, ...

  7. Idea 竖选文本、竖向选择、横向纵向选择文本代码

    在使用Idea的时候,可能需要在相同类型的文字中增加数据,所以Idea提供一种列式选择方式,提高开发的效率. 如果需要使用,我们可以选中代码,右键单击,在弹出的菜单中选中[Column Selecti ...

  8. js if(!!!e) {} 判断条件中的三个感叹号什么意思

    两个感叹号的意思就是,将变量转换为其对应的布尔值. !!e就是e对应的布尔值,true或者false. !!!e==!(!!e)==!true/!false=false/true;

  9. MySQL5.6解压版服务无法启动—系统错误1067

    记录一下今天被坑了一下午的BUG 就从半个月前说起吧 当时....................................................................... ...

  10. P1057传球游戏

    这是一道动态规划的水题,难度为提高-. 题意为:n个人围成一个环传球,每一次都可以往左或右传,传m次,问有几种最后传到小明手里的方案数.然后因为一个状态有两个变量,所以我们用dp[][]来存储[传球次 ...