1. 列表是什么?

  • list [ ]

  • 逗号隔开

  • 是一个容器

  • 可以存放任意类型

  1. 列表 == 书包
  2. 书包里可以放水杯、衣服、袜子、钱包
  3. 钱包里可以放钱、身份证件,可以包套包

2. 列表能干什么?

  • 存储大量数据
  • 有序的
  • 可变的,可以被修改
  • 之前是什么格式放在列表中还是什么格式
  • 可以被迭代

3. 列表的切

方法一: 索引

  1. li = [1,2,3,"123",True]
  2. print(li[3],type(li[3]))
  3. print(li[-1],type(li[-1]))
  4. '''
  5. 输出结果
  6. 123 <class 'str'>
  7. True <class 'bool'>
  8. '''
  9. # 个人见解
  10. # 切片后还是原来的数据类型

方法二: 切片

  1. li = [1,2,3,"123",True]
  2. print(li[1:4])
  3. '''
  4. [2,3,"123"]
  5. '''

方法三: 索引切片加步长

  1. li = [1,2,3,"123",True]
  2. print(li[1:4:2])
  3. '''
  4. 输出结果
  5. [2, '123']
  6. '''
  7. s = "alex"
  8. print(type(s[1:3:1]))
  9. print(type(li[-1:-4:-1]))
  10. # 切片后还是原来的数据类型

一句话总结

列表切片:

索引:li[2]

切片:li[2:3]

步长:li{2:3:2}

4. 列表的创建

**方法一: **直接创建

  1. li = [1,2,3,'123',True,[1,2,5]]

方法二: 用list将一个字符串生成

  1. l1 = list()
  2. l1 = list('fhdsjkafsdafhsdfhsdaf')
  3. print(l1)
  4. # 输出结果
  5. ['f', 'h', 'd', 's', 'j', 'k', 'a', 'f', 's', 'd', 'a', 'f', 'h', 's', 'd', 'f', 'h', 's', 'd', 'a', 'f']
  6. # 底层使用了for循环 "abc" 可迭代的字符串类型,所以打印出如此内容

一句话总结

列表创建方法:

li = [1,2,3,'123',True,[1,2,5]]

l1 = list('fhdsjkafsdafhsdfhsdaf')

5. 列表的增

5.1 append('要插入的内容') (结果:会在末尾追加)

方法: 直接添加元素

  1. li = [1,2,3,'alex',3,[1,2,3]]
  2. li.append('太亮') # 追加 添加在末尾 添加的操作
  3. '''
  4. 输出结果
  5. [1,2,3,'alex',3,[1,2,3],'太亮']
  6. '''

5.2 instert(索引,'要插入的内容') (结果:效率低)

方法: 索引,元素

  1. li.insert(0,"大象")
  2. # 插入 第一个参数(索引),第二参数要插入的内容

5.3 extend('要添加内容')(结果:迭代添加,字符会拆开)

方法:直接添加元素, 不可迭代对象: int bool

  1. li = [1,2,3]
  2. li.append('abc')
  3. print(li)
  4. '''
  5. [1,2,3,'a','b','c']
  6. '''

5.4 列表的合并(两列表拼接成一个)

用法:+在一起

  1. l2 = [1,2,3,'abc']
  2. l3 = [7,8,9,'hello']
  3. print(l2 + l3)
  4. [1,2,3,'abc',7,8,9,'hello']

一句话总结

列表增加方法:

append('内容') 特点:默认字尾添加

instert(索引,'内容') 特点:效率低

extend('内容') 特点:迭代,字符串会拆开

6. 列表的删

6.1 pop('被删除元素/不写是默认删除最后元素')(结果:有返回值,返回的值是被删除的内容)

方法一:默认删除最后一个元素且有返回值,是被删除的元素

  1. # 思考删除abc
  2. li = [1,2,3,'abc']
  3. li.pop()
  4. print(li)
  5. print(li.pop())
  6. '''
  7. 输出结果
  8. [1,2,3] #删除后的列表
  9. abc # 被删除的元素
  10. '''
  11. # abc被删除

方法二:根据索引删除元素

  1. li = [7,8,9,'abc']
  2. li.pop(2)
  3. print(li)
  4. '''
  5. 输出结果
  6. [7,8,abc]
  7. '''

一句话总结

pop删除的3种方式:
  • 默认删除尾部li.pop()
  • 直接删除元素li.pop('abc')
  • 直接删除索引,删除的就是对应的元素li.pop(2)
pop删除有返回值,返回值是被删除的元素,打印方式print(li.pop())

本节习题:

  1. 列表li = [1,2,3,'abc'],请用2种方法删除元素'abc'

6.2 remove('被删除的元素') (通过元素删除)

方法: 按照元素名删除

  1. li = [1,2,3,'abc',True]
  2. li.remove(1)
  3. print(li)
  4. [2,3,'abc',True]

一句话总结

remove('元素'), 从左向右删除,有同名的删除左侧的第一个

6.3 del 列表名 (删除整个列表)

方法一:del li 删除整个列表

  1. li = [1,2,3,"abc",True]
  2. del li
  3. print(li)
  4. '''
  5. 输出结果
  6. NameError: name 'li' is not defined, li列表没有被定义
  7. '''

方法二: 索引删除

  1. del li[2]

方法三: 切片删除

  1. del li[0:3]

方法四: 步长删除

  1. del li[::2]

一句话总结:

del li 整个列表

del [2] 索引

del [2:3] 切片

del [2:3:2] 步长

6.4 clear() 清空,得到一个空列表

方法:

  1. li.clear() # 格式
  2. print(li)
  3. []

7. 列表的改

方法一: 通过索引的改

  1. li = ["水杯",2,3,"abc",]
  2. li[-1] = "奶瓶" # 将'abc'改成奶瓶
  3. print(li)
  4. '''
  5. ["水杯",2,3,"奶瓶",]
  6. '''
  7. li[1] = [1,2,3] # 将元素改成一个列表
  8. '''
  9. ["水杯",[1,2,3],3,"abc",]
  10. '''

方法二: 通过切片的改

  • 可多可少
  • 可以指定空
  1. li = ["水杯",2,3,"abc",]
  2. li[0:3] = [1,2,3],[1234]
  3. '''
  4. [[1, 2, 3], [1234], 'abc']
  5. '''
  6. # 将0-3改成[1,2,3],[1234]
  7. li[0:4] = [1,2,3],[1234]
  8. '''
  9. [[1,2,3],[1234]]
  10. '''

方法三: 通过步长的改 取几个就放几个 不能多不能少

  1. li = ["水杯",2,3,"abc",]
  2. li[0:3:2] = [1,2,3],[1234]
  3. print(li)
  4. '''
  5. [[1, 2, 3], 2, [1234], 'abc']
  6. '''

8. 列表的查

方法: 通过索引查

  1. li = ['abc',5,'太白','老吉普','d']
  2. print(li[3])
  3. '''
  4. 老吉普
  5. '''

方法: 通过切片

  1. li = ['abc',5,'太白','老吉普','d']
  2. print(li[1:4])
  3. '''
  4. [5,'太白','老吉普']
  5. '''

方法: 通过步长

  1. li = ['abc',5,'太白','老吉普','d']
  2. print[li[1:4:2]]
  3. '''
  4. [5,'老吉普']
  5. '''

方法: 通过for循环

  1. li = ['abc',5,'太白','老吉普','d']
  2. for i in li:
  3. print(i)
  4. '''
  5. ['abc',5,'太白','老吉普','d']
  6. '''

9. 列表的嵌套

  1. li = ["水杯","衣服","鞋子","书","电脑","屁",["手机","钥匙",["身份证","银行卡"]],]
  2. l2 = li[6]
  3. print(l2)
  4. '''
  5. ["手机","钥匙",["身份证","银行卡"]]
  6. '''
  7. l3 = l2[2]
  8. print(l3)
  9. '''
  10. ["身份证","银行卡"]
  11. '''
  12. l4 = l3[1]
  13. print(l4)
  14. '''
  15. 银行卡
  16. '''
  17. 可以写成如下:
  18. l5 = li[6][2][1] # 第一个列表的索引6内部列表索引2,再内部列表索引1
  19. print[l5]
  20. '''
  21. 银行卡
  22. '''

列表习题:

  1. li = [1,2,3,"123",True]
  2. 1. 用学过的方法输出以下结果
  3. 123 <class 'str'>
  4. True <class 'bool'>
  5. [2,3,"123"]
  6. [2, '123']
  7. 2. 查看下s = "alex"的数据类型
  8. li = ["水杯",2,3,"abc",]
  9. 3. 两种方法将abc删除
  10. li = [1,2,3,'alex',3,[1,2,3]]
  11. 4. 在列表末尾添加一个'太白'
  12. 5. 低效率方法在第一个位置插入一个'大象'
  13. 6. 用两种方法在列表末尾位置添加一个'a','b','c'
  14. l3 = [1,2,3]
  15. l2 = ["a","b","c"]
  16. 7. 将这两个列表合并成一个
  17. li = [1,2,3,"abc",True]
  18. 8. 将这个列表中的'abc'删除
  19. 9. 两种方法将这个列表中的True删除
  20. li = [1,2,3,'abc']
  21. 10. 将第二个字符改成一个列表
  22. 11. 用改的方法将列表里元素23删除
  23. li = [1,2,3,4,"abc",5]
  24. li[0:2] = "ABC"
  25. 12. 上题结果
  26. li = ["水杯",2,3,"abc",]
  27. 13. '水杯'3分别改成[1,2,3],[1234]
  28. li = ["水杯",2,3,"abc",]
  29. 14. 将列表变成这样[[1,2,3],[1234]]
  30. li = ["水杯","衣服","鞋子","书","电脑","屁",["手机","钥匙",["身份证","银行卡"]],]
  31. 15. '银行卡'提取出来

python之list [ 列表 ]的更多相关文章

  1. [转载]Python 元组、列表、字典、文件

    python的元组.列表.字典数据类型是很python(there python is a adjective)的数据结构.这些结构都是经过足够优化后的,所以如果使用好的话,在某些area会有很大的益 ...

  2. python 获取一个列表有多少连续列表

    python 获取一个列表有多少连续列表 例如 有列表 [1,2,3] 那么连续列表就是 [1,2],[2,3],[1,2,3] 程序实现如下: 运行结果:

  3. Python学习02 列表 List

    Python学习02 列表 List Python列表 List Python中的列表(List)用逗号分隔,方括号包围(comma-separated values (items) between ...

  4. 第三章 Python容器:列表、元组、字典与集合

      数据结构的分类依据?基本的"数组"在python中是列表, 数据结构的作用?容器,盛放数据,是由原子组成的分子.可以将一群数据进行整合.拆分.重排. 3.2 列表 列表是啥?顺 ...

  5. julia与python中的列表解析.jl

    julia与python中的列表解析.jl #=julia与python中的列表解析.jl 2016年3月16日 07:30:47 codegay julia是一门很年轻的科学计算语言 julia文档 ...

  6. python学习笔记——列表生成式与生成器

    1.列表生成式(List Comprehensions) python中,列表生成式是用来创建列表的,相较于用循环实现更为简洁.举个例子,生成[1*1, 2*2, ... , 10*10],循环用三行 ...

  7. Python 迭代器和列表解析

    Python 迭代器和列表解析 1)迭代器 一种特殊的数据结构,以对象形式存在 >>> i1 = l1.__iter__() >>> i1 = iter(l1) 可 ...

  8. 3.python元组与列表

    Python的元组与列表类似,同样可通过索引访问,支持异构,任意嵌套.不同之处在于元组的元素不能修改.元组使用小括号,列表使用方括号. 创建元组 元组创建很简单,只需要在括号中添加元素,并使用逗号隔开 ...

  9. Python编程笔记 - 列表

    这篇文章开始介绍Python中的容器.Python容器包括列表.元组.集合与字典.这些数据结构中都涉及到很多的方法,这里对比较常用的一些方法进行介绍,不用每个方法都记住,熟悉常用的即可. 首先,我们先 ...

  10. 再一波Python实战项目列表

    前言: 近几年Python可谓是大热啊,很多人都纷纷投入Python的学习中,以前我们实验楼总结过多篇Python实战项目列表,不但有用还有趣,最主要的是咱们实验楼不但有详细的开发教程,更有在线开发环 ...

随机推荐

  1. Qt-MVC图形视图框架初识

    使用QPushButton.QLabel.QCheckBox等构成GUI的控件或自定义图形时,开发应用程序会变得很简单.但是如果想在GUI中使用数十个或者数百个图形对象,向用户完美展示控制场景,则会受 ...

  2. 51nod 1456【强连通,缩点,并查集】

    话说这道题的机遇是看到了http://blog.csdn.net/u010885899/article/details/50611895很有意思:然后就去补了这题 题意: 建最少的边使得给出的点相连. ...

  3. SecureCRT 退格键等不好用

    1.MongoDB Shell中退格键使用的问题. 利用SecureCRT工具访问linux的时候,在使用MongoDB的交互式shell的时候,退格键(Backspace)无法使用,导致无法修改输入 ...

  4. rn-splash-screen 启动页 ios

    1.删除iOS工程文件夹下的 LaunchScreen.xib 文件 2. 3.  如果第4步不一样的样式,可以重新走这个图片的步骤就行 4.进入iOS工程的AppDelegate.m中做如下修改: ...

  5. react native的Navigator组件示例

    import React, {Component} from 'react';import {ScrollView, StyleSheet, Text, View, PixelRatio} from ...

  6. 《Python网络爬虫之三种数据解析方式》

    引入 回顾requests实现数据爬取的流程 指定url 基于requests模块发起请求 获取响应对象中的数据 进行持久化存储 其实,在上述流程中还需要较为重要的一步,就是在持久化存储之前需要进行指 ...

  7. Redis安装(centOS7)

    1.安装gcc环境 sudo yum install gcc-c++ 2.安装wget sudo yum install wget 3.下载Redis源码包 wget http://download. ...

  8. Linux —— 常用命令集合

    关机和重启命令 shutdown [选项] 时间 (添加&,把关机任务放在后台执行) 只有shutdown可以保存关机时资源 操作选项 重启: r 关机: h 取消一个关机任务: c 关机命令 ...

  9. 转:php中的匿名函数和闭包(closure)

    一:匿名函数 (在php5.3.0 或以上才能使用) php中的匿名函数(Anonymous functions), 也叫闭包函数(closures), 允许指定一个没有名称的函数.最常用的就是回调函 ...

  10. B. Hierarchy

    http://codeforces.com/problemset/problem/17/B 用邻接矩阵建图后, 设cost[v]表示去到顶点v的最小值. 很多个人去顶点v的话,就选最小的那个就OK 然 ...