列表是list来表示、列表是一个容器可以装任何数据类型的数据

表达式:list = []

1、定义列表

第一种方法
list1 = ['放牛娃','dcs8','test',111,888,9]
print(list1)                 # ['放牛娃', 'dcs8', 'test', 111, 888, 9]
print(type(list1))           # 数据类型为列表:<class 'list'>
​
第二种方法
test = 'hello放牛娃'
list2 = list(test)
print(list2)                 # ['h', 'e', 'l', 'l', 'o', '放', '牛', '娃']
print(type(list2))           # 数据类型为列表:<class 'list'>

2、列表当中常用的函数和用法

2.1、索引赋值

test = 'hello'
list2 = list(test)
list2[0] = 'dcs8'           # 把dcs8这个字符串赋值给到list2这个列表索引为0的地方
print(list2)                # ['dcs8', 'e', 'l', 'l', 'o']
print(type(list2))          # <class 'list'>

2.2、切片赋值

test = 'hello'
list2 = list(test)            # ['h', 'e', 'l', 'l', 'o']
list2[3:] = list('dcs')
print(list2)                  # ['h', 'e', 'l', 'd', 'c', 's']

2.3、append函数 ==》可以在列表的后面添加任意数据类型的数据

list1 = ['test','dcs8',888,99,1]
list1.append('duoceshi')
print(list1)                 # ['test', 'dcs8', 888, 99, 1, 'duoceshi']
list1.append(222)
print(list1)                 # ['test', 'dcs8', 888, 99, 1, 'duoceshi', 222]

2.4、extend函数 两个列表拼接

list1 = ['test','dcs8',888,99,1]
list2 = ['duoceshi']
list1.extend(list2)
print(list1)                     # ['test', 'dcs8', 888, 99, 1, 'duoceshi']

2.5、insert函数 索引位插入值

list1 = ['test','dcs8',888,99,1]
list1.insert(0,'china')
print(list1)                     # ['china', 'test', 'dcs8', 888, 99, 1]

2.6、index函数 ==》查看字符对应的索引值

list1 = ['test','dcs8',888,99,1]
print(list1.index('test'))       # 结果为:0

2.7、remove函数 ==》删除列表中对应的字符

list1 = ['test','dcs8',888,99,1,'dcs8']
list1.remove('dcs8')
print(list1)                       # ['test', 888, 99, 1, 'dcs8']
# 注意:如果列表中有多个相同的元素,会删除前面那个

2.8、del 通过索引和切片删除值

list1 = ['test','dcs8',888,99,1]
del list1[-1]
print(list1)                         # ['test', 'dcs8', 888, 99]
del list1[1:]
print(list1)                         # ['test']

2.9、sort函数 ==》从小到大进行排序

list1 = [888,99,1,12,87,111]
list1.sort()
print(list1)
​
# 如果列表当中都是字符串就通过ASCII码进行排序、字符串和整型不能一起进行排序
list1 = ['test','99','1','china','dcs8','AB']
list1.sort()
print(list1)            # ['1', '99', 'AB', 'china', 'dcs8', 'test']

2.10、sorted函数 排序

list1 = [888,99,1,12,87,111]
print(sorted(list1,reverse=True))     # 降序排序  [888, 111, 99, 87, 12, 1]
print(sorted(list1,reverse=False))    # 升序排序  [1, 12, 87, 99, 111, 888]

2.11、reverse函数 ==》反转(重点)

list1 = [888,99,1,12,87,111]
list1.reverse()
print(list1)                            # [111, 87, 12, 1, 99, 888]

2.12、pop函数 删除

list1 = [888,99,1,12,87,111]
print(list1.pop())          # 111     打印出被删除的这个值、默认删除列表当中最后的一个值
print(list1)                # [888, 99, 1, 12, 87] 打印出删除之后剩余的值
print(list1.pop(0))         # 888    打印出删除对应的索引位的值
print(list1)                # [99, 1, 12, 87]     打印出删除之后剩余的值

列表推导式

列表变量名 = [x for x in range(开始值,结束值,步长)]
列表变量名 = [x for x in range(开始值,结束值,步长) if 条件]
list1 = [x for x in range(0, 10)]
print(list1)                                   # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]list1 = [x for x in range(0, 100)]
print(list1)                                   # [0, 1, 2, 3, 4,.....,99]list1 = [x for x in range(5, 20, 3)]
print(list1)                                   # [5, 8, 11, 14, 17]list1 = [x for x in range(30, 20, -1)]
print(list1)                                   # [30, 29, 28, 27, 26, 25, 24, 23, 22, 21]list1 = [x for x in range(6, -10, -2)]
print(list1)                                   # [6, 4, 2, 0, -2, -4, -6, -8]list1 = [x for x in range(0, 10) if x % 2 == 0]
print(list1)                                   # [0, 2, 4, 6, 8]

练习:列表推导式输出0-100中10的倍数

list1 = [x for x in range(0, 101, 10)]
print(list1)           # [0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100]list1 = [x for x in range(0, 101) if x % 10 == 0]
print(list1)           # [0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
vec = [-4, -2, 0, 2, 4]# 新生成一个列表,该列表中的每个元素是vec列表中每个元素的2倍
a = [x*2 for x in vec]
print(a)                      # [-8, -4, 0, 4, 8]# 利用if语句对列表进行过滤,将小于0的元素过滤掉
a = [x for x in vec if x >= 0]
print(a)                      # [0, 2, 4]# 对列表中每个元素应用函数,比如使用abs()函数对每个元素取绝对值
a = [abs(x) for x in vec]
print(a)                      # [4, 2, 0, 2, 4]# 对列表中每个元素调用方法
freshfruit = ['  banana', 'loganberry  ', 'passion fruit  ']
a = [weapon.strip() for weapon in freshfruit]
print(a)                      # ['banana', 'loganberry', 'passion fruit']# 创建一个元素由元祖组成的列表,形式为(数字x,数字x的平方)
a = [(x, x**2) for x in range(6)]
print(a)                      # [(0, 0), (1, 1), (2, 4), (3, 9), (4, 16), (5, 25)]# 创建一个元素由列表组成的列表,形式为[数字x,数字x的平方]
a = [[x,x**2] for x in range(6)]
print(a)                      # [[0, 0], [1, 1], [2, 4], [3, 9], [4, 16], [5, 25]]# 利用两个for循环将一个嵌套二维列表降为一维列表
vec = [[1,2,3], [4,5,6], [7,8,9]]
a = [num for elem in vec for num in elem]
print(a)                     # [1, 2, 3, 4, 5, 6, 7, 8, 9]

嵌套列表推导式

for循环

a = []for i in range(4):a.append([row[i] for row in matrix])print(a)       # [[1, 5, 9], [2, 6, 10], [3, 7, 11], [4, 8, 12]]

使用嵌套列表推导式:

a = [[row[i] for row in matrix] for i in range(4)]print(a)      # [[1, 5, 9], [2, 6, 10], [3, 7, 11], [4, 8, 12]]

python当中的列表函数和列表推导式相关推荐

  1. python中的set函数、列表的操作

    一.set函数 set()函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集.差集.并集等. 例题: 1.set函数求交集(&).差集(-).并集(|) s1 = se ...

  2. Python外壳:代码结构!(推导式和函数 )

    推导式: 推导式是一个或者多个迭代器快速简洁的创建数据结构的一种方法. 它可以将循环和条件判断结合,从而避免语法冗长的代码. 悄悄告诉你,会使用推导式.很大程度上说明,你已经超过许多初学者啦· 也就是 ...

  3. python3列表推导式矩阵转置_python3进阶之推导式1之列表(list)推导式(comprehensions)...

    1.前言 推导式,英文名字叫comprehensions,注意与comprehension(理解)只有s字母之差.推导式又可以叫解析式,推导式可以从一种数据序列构建新的数据序列的结构体.推导式分为,列 ...

  4. day 12 生成器和生成器函数以及各种推导式

    一.生成器 本质就是迭代器. 我们可以直接执⾏__next__()来执⾏ 以下⽣成器 一个一个的创建对象 创建生成器的方式: 1.生成器函数 2.通过生成器 表达式来获取生成器 3.类型转换(看不到) ...

  5. 12 生成器和生成器函数以及各种推导式

    今日主要内容 1. 生成器 本质就是迭代器. 一个一个的创建对象 创建生成器的方式: 1. 生成器函数 2. 通过生成器表达式来获取生成器 3. 类型转换(看不到) 2. 生成器函数 (重点) 生成器 ...

  6. Python x OpenCV+Numpy 函数参考列表

    (1)图像的读取操作 cv2.imread(文件名,标记) 功能:给定文件名和读入方式,读入一幅图像 返回值:numpy数组,类型为ndarray的2维或3维数组 文件名:图像全名,包括后缀名 标记: ...

  7. python当中的字符串函数

    str1 = 'asdfghajkl' print(str1.capitalize()) # capitalize 改首写字母为大写 打印结果为:Asdfghjkl print(str1.title( ...

  8. 列表函数python_python 列表函数

    list函数: 功能:将字符创转化为列表,例: 列表基本函数: 1.元素赋值,例: 注意:通过list[0]= 'hel',如果原来位置上有值,会覆盖掉原来的. 2.分片操作 1)显示序列,例: 注意 ...

  9. python基础之生成器,生成器函数,列表推导式

    内容梗概: 1. 生成器和生成器函数. 2. 列表推导式. 1.生成器函数1.1 生成器函数. 就是把return换成yield def gen():print("爽歪歪")yie ...

  10. 4.04Day14递推、三元表达式、列表/字典推导式、匿名函数

    复习:1.迭代器:不需要索引的取值方式2.生成器:通过特殊的语法自定义的迭代器3.枚举对象:为可迭代对象创建索引(按照迭代的顺序创建索引) 迭代器对象:装有多个值的容器 1. 可用通过.__next_ ...

最新文章

  1. 邮件发送类,支持Gmail
  2. HDU.6761.Minimum Index(Lyndon分解)
  3. 阿里云Kubernetes服务上使用Tekton完成应用发布初体验
  4. linux-gzip压缩
  5. (5)通过Node.js 运行JS代码
  6. html获取节点属性,JS操作属性节点(非常详细)
  7. Python中中文字符也算单个字符
  8. abovedisplayskip无效_初学latex的模板,里面有错,哪位大神能不能帮忙看看啊?不甚感激!...
  9. JavaWeb19-HTML篇笔记
  10. python多进程调度模块multiprocessing实践实践
  11. STC8A 进行USB直接ISP下载
  12. SpringMVC整合activiti Modeler
  13. python首字母大写
  14. WORD如何使得公式居中,公式编号右对齐?
  15. 基于DINet的虚拟数字人
  16. 基于单片机的多功能电子密码锁系统设计
  17. Linux-脚本安装、快照、重置虚拟机
  18. 酬乐天扬州初逢席上见赠
  19. ThinkPad F1按键常亮且喇叭无声音
  20. JSONObject遍历并替换部分json值

热门文章

  1. 对话微软大中华区CEO梁念坚:WP7为云而生
  2. 常用git命令指南总结
  3. 华为交换机做qos案例_经典案例:QoS实现交换机带宽控制(1)
  4. 大数据分析及工具应用总结
  5. rockchip wificountry code
  6. 数仓建模—国产建模工具神器
  7. zipoutputstream 进行解压缩时winrar提示:不可预料的压缩文件末端
  8. 关于我如何解决了xlsm文件格式的问题
  9. OpenSSL Cipher 加密解密 Ruby on Rails
  10. 您的自动化测试糟透了