返回总目录

目录:

1.列表的定义

2.列表的常规操作

3.列表的额外操作

(一)列表的定义:

列表的定义 [var1, var2, ……, var n ]

  1. # (1)列表的定义 [var1, var2, ……, var n ]
  2. items = ["a", 456, False]
  3. name = ["zhangsan", 123, "李四", True, items]
  4. print(name, type(name))
  5. --------------输出------------------
  6. ['zhangsan', 123, '李四', True, ['a', 456, False]] <class 'list'>

(2)快速生成式:

  1. # range列表快速生成
  2. # 语法 range(stop) [0, 1, 2 ... , stop - 1]
  3. # range(start, stop[, step])
  4. # [start, start + step, start + 2*step ... <stop]
  5. # step默认值是1
  6. num = range(99)
  7. print(num)
  8. num2 = range(1, 99)
  9. print(num2)
  10. # 列表式推导式生成
  11. # 语法 [表达式 for 变量 in 列表]
  12. # [表达式 for 变量 in 列表 if 条件]
  13. # 原始方法:
  14. num3 = [1, 2, 3, 4, 5]
  15. result_list = []
  16. for i in num3:
  17. if i % 2 != 0:
  18. result = i**2
  19. result_list.append(result)
  20. print(result_list)
  21. # 推导式:
  22. result_list2 = [j**2 for j in num3]
  23. print(result_list2)
  24. # 条件推导式:
  25. result_list3 = [j**2 for j in num3 if j % 2 != 0]
  26. print(result_list3)
  27. -----------------输出---------------------------
  28. range(0, 99)
  29. range(1, 99)
  30. [1, 9, 25]
  31. [1, 4, 9, 16, 25]
  32. [1, 9, 25]

(二)列表的常规操作:

(1)增加元素:

  1. # 增list
  2. # append 往列表中, 追加一个新的元素 在列表的最后
  3. # 语法 l.append(object)
  4. # 参数 object 想要添加的元素
  5. list1 = [1, 2, 3, 4]
  6. result1 = list1.append(5)
  7. print("追加元素5后:", list1)
  8. # insert 往列表中, 追加一个新的元素 在指定索引前面
  9. # 语法 l.insert(index, object)
  10. # 参数 index 索引, 到时会插入到这个索引之前
  11. # object 想要添加的元素
  12. list2 = ["a", "b", "c"]
  13. list2.insert(1, "x")
  14. print("插入'x'后的结果:", list2)
  15. # extend 往列表中, 扩展另外一个可迭代序列
  16. # 语法 l.extend(iterable)
  17. # 参数 iterable 可迭代集合 字符串 列表 元组 ...
  18. list3 = [1, 2, 3, 4]
  19. list3.extend(list2)
  20. print("拼接列表后:", list3)
  21. # 乘法运算 ["a"] * 3 = ['a', 'a', 'a']
  22. list4 = ["a", "b"]
  23. print("列表翻倍后:", list4*2)
  24. # 加法运算 ["a"] + ["b", "c"] = ["a", "b", "c"]
  25. list5 = ["a"]
  26. list6 = ["b", "c"]
  27. print("列表相加后:", list5 + list6)
  28. ------------------输出----------------------
  29. 追加元素5后: [1, 2, 3, 4, 5]
  30. 插入'x'后的结果: ['a', 'x', 'b', 'c']
  31. 拼接列表后: [1, 2, 3, 4, 'a', 'x', 'b', 'c']
  32. 列表翻倍后: ['a', 'b', 'a', 'b']
  33. 列表相加后: ['a', 'b', 'c']

(1)删除元素:

  1. # 删list
  2. # del 可以删除一个指定元素(对象)
  3. # 语法 del 指定元素 可以删除整个列表 删除一个变量 也可以删除某个元素
  4. list1 = [1, 2, 3, 4, 5]
  5. del list1[1]
  6. print("删除第2个元素以后:", list1)
  7. # pop 移除并返回列表中指定索引对应元素
  8. # 语法 l.pop(index=-1)
  9. # 参数 index 需要被删除返回的元素索引 默认是-1 也就对应着列表最后一个元素
  10. list2 = ["a", "b", "c"]
  11. print("删除的元素是:", list2.pop(1), "原列表改为:", list2)
  12. # remove 移除列表中指定元素
  13. # 语法 l.remove(object)
  14. # 参数 object 需要被删除的元素
  15. list3 = ["a", "b", "c"]
  16. list3.remove("b")
  17. print("原列表改为:", list3)
  18. ------------------输出----------------------
  19. 删除第2个元素以后: [1, 3, 4, 5]
  20. 删除的元素是: b 原列表改为: ['a', 'c']
  21. 原列表改为: ['a', 'c']

(1)改变元素:

  1. # 改list
  2. # names[index] = 666
  3. list1 = [1, 2, 3, 4]
  4. list1[1] = 0
  5. print(list1)
  6. ------------------输出----------------------
  7. [1, 0, 3, 4]

(1)查看元素:

  1. # 查list
  2. # 获取单个元素 items[index] 注意负索引
  3. list1 = [1, 2, 3, 4]
  4. print("第2个元素是:", list1[1])
  5. print("-1元素:", list1[-1])
  6. # 获取元素索引 index()
  7. list2 = ["a", "b", "c"]
  8. print("字符'b'所在的索引:", list2.index("b"))
  9. # 获取指定元素个数 count()
  10. list3 = [1, "b", 1, 1, 2, 3, 4]
  11. print("list3的元素1的个数是:", list3.count(1))
  12. # 获取多个元素 切片 items[start:end:step]
  13. list4 = [1, 2, 3, 4, 5, 6, 7, 8, 9]
  14. print("切取一部分的元素:", list4[1:8:2])
  15. # 遍历
  16. # 方式1 根据元素进行遍历
  17. # for item in list:
  18. # print(item)
  19. list5 = [1, 2, 3, 4, 5]
  20. for i in list5:
  21. print("第", i, "元素", end="")
  22. print("\n")
  23. # 方式2 根据索引进行遍历
  24. # for index in range(len(list)):
  25. # print(index, list[index])
  26. list6 = ["a", "b", "c", "d", "e"]
  27. for j in range(len(list6)):
  28. print("第", list6[j], "元素", end="")
  29. ------------------输出----------------------
  30. 2个元素是: 2
  31. -1元素: 4
  32. 字符'b'所在的索引: 1
  33. list3的元素1的个数是: 3
  34. 切取一部分的元素: [2, 4, 6, 8]
  35. 1 元素第 2 元素第 3 元素第 4 元素第 5 元素
  36. a 元素第 b 元素第 c 元素第 d 元素第 e 元素

(三)列表的额外操作

本小节结束!

返回总目录

我是张一根,一个机械专业的大学生,一个在读本科的计算机爱好者,期盼和你一起交流计算机的知识,让我们在这个大时代里一起进步。

4.5Python数据类型(5)之列表类型的更多相关文章

  1. Redis (非关系型数据库) 数据类型 之 list列表类型

    Redis列表是简单的字符串列表,按照插入顺序排序.你可以添加一个元素到列表的头部(左边)或者尾部(右边) list即可以作为“栈”也可以作为"队列". 操作: >lpush ...

  2. 从零开始学习PYTHON3讲义(八)列表类型跟冒泡排序

    <从零开始PYTHON3>第八讲 ​前面我们见过了不少的小程序,也见过了不少不同类型的变量使用的方法.但目前我们涉及到的,还都是单个的变量和单个的立即数.以变量来说,目前我们见到的,基本都 ...

  3. day05数据类型,数字类型,字符串类型,字符串的操作方法,列表类型的操作方法,可变类型与不可变类型

    复习 ''' 流程控制 1.顺序结构.分支结构.循环结构 2.if分支结构 if 条件: 代码块 elif 条件: 代码块 else: 代码块 # 可以被if转换为False:0 | '' | Non ...

  4. Python笔记_第一篇_面向过程_第一部分_5.Python数据类型之列表类型(list)

    Python中序列是最基本的数据结构.序列中的每个元素都分配一个数字(他的位置或者索引),第一个索引是0,第二个索引是1,依次类推.Python的列表数据类型类似于C语言中的数组,但是不同之处在于列表 ...

  5. redis数据类型-列表类型

    列表类型 列表类型(list)可以存储一个有序的字符串列表,常用的操作是向列表两端添加元素,或者获得列表的某一个片段. 列表类型内部是使用双向链表(double linked list)实现的,所以向 ...

  6. Redis从基础命令到实战之列表类型(List)

    经过上一篇基于Redis散列类型的改造后,实战练习中的商品管理已经具备了增加.修改整体.修改部分属性和分页查询功能,但仍然不支持删除商品的功能.这是因为商品总数是以一个自增数字记录的,且关联了新商品k ...

  7. redis 的使用 ( list列表类型操作)

    list 数据类型 列表类型 list 类型是一个双向操作 从链表的头部或者尾部添加删除元素 list 既可以用作栈 也可以用作队列 list 链表的类型应用场合: 获取最新的 10 个用户的信息 s ...

  8. Python第三天 序列 数据类型 数值 字符串 列表 元组 字典

    Python第三天 序列  数据类型  数值  字符串  列表  元组  字典 数据类型数值字符串列表元组字典 序列序列:字符串.列表.元组序列的两个主要特点是索引操作符和切片操作符- 索引操作符让我 ...

  9. Python第三天 序列 5种数据类型 数值 字符串 列表 元组 字典 各种数据类型的的xx重写xx表达式

    Python第三天 序列  5种数据类型  数值  字符串  列表  元组  字典 各种数据类型的的xx重写xx表达式 目录 Pycharm使用技巧(转载) Python第一天  安装  shell ...

  10. day05(数字类型,字符串类型,列表类型)

    一,复习: 1.顺序结构.分支结构.循环结构 2.if分支结构 if 条件: 代码块 elif 条件: 代码块 else: 代码块 # 可以被if转换为False:0 | '' | None | [] ...

随机推荐

  1. 串口USB单一映射及重命名

    本文针对在开发过程中有时会出现用到多个串口设备,usb端口号会发生变化,如设备的灯指示信号和其他控制器都是ttyUSB* .其序号与控制接入的顺序有关,对于写好的launch每次修改串口连接名很麻烦. ...

  2. PHP-CPP开发扩展(六)

    PHP-CPP是一个用于开发PHP扩展的C++库.本节讲解在C++中PHP异常.变量.常量的实现相关知识. 异常 PHP和C++都支持异常,而PHP-CPP库这两种语言之间的异常处理是完全透明的.你在 ...

  3. Mysql、MongoDB对比和使用场景

    MongoDB: 更高的写入负载 默认情况下,MongoDB更侧重高数据写入性能,而非事务安全,MongoDB很适合业务系统中有大量“低价值”数据的场景.但是应当避免在高事务安全性的系统中使用Mong ...

  4. PHP 5.3中的命名空间使用方法

    PHP的命名空间(namespace)是php5.3之后才有的.这个概念在C#中已经很早就有了,php中的namespace其实和c#的概念是一样的. 为什么php中要使用namespace? 假设如 ...

  5. 再会Java

    作者曾写过一段时间Java, 时间一长也就忘得差不多了. 现在重新学习一个, 故而只是提要式的记录. Java是静态强类型语言, 运行于Java虚拟机(Java Virtual Machine, JV ...

  6. css布局------左边宽度不定,右边宽度自动填满剩余空间

    HTML <div class="container"> <div class="left"></div> <div ...

  7. [转]bootstrapValidator.js 做表单验证

    本文转自:https://www.cnblogs.com/nele/p/5493414.html 作者:@nele本文为作者原创,转载请注明出处:https://www.cnblogs.com/nel ...

  8. log4j.appender.file.DatePattern

    DailyRollingFileAppender是日志记录软件包Log4J中的一个Appender,它能够按一定的频度滚动日志记录文件. 我们可以按下面的方式配置DailyRollingFileApp ...

  9. 项目开发版本控制----Git

    版本控制的工具我早之前用的svn,后来换成了git.同样是版本控制,为什么要换呢?肯定是有原因的啦~ 一.Git和SVN的比较 svn的优缺点 优点: 1.管理方便,逻辑明确,符合一般人思维习惯. 2 ...

  10. 如何用minitab检测一组数据是否服从正态分布

    打开Minitab之后 点击Stat>Basic Statistics> Normality Test  分析之后若 P value(P值)>0.05,说明此组数据服从正态分布