# TRHX'S BLOG

# Python3 自学笔记 C02

TRHX'BLOG

2018-09-15

Python3

列表

Python3 自学笔记第二章【列表】

# - 2.1列表是什么

列表由一系列按特定顺序的元素组成，在 Python 中用方括号（ [ ] ）来表示列表，并用逗号来分隔其中的元素，例：

    1
    2
    3
    4
    5

    list1 = ['a','b','c','d','e','f']
    list2 = ['abc', 'xyz', 2018, 2020]
    list3 = [1, 2, 3, 4, 5 ,6]
    list4 = ["a", "b", "c", "d"]
    print(list1, list2, list3 ,list4)

输出结果如下：

    1

    ['a', 'b', 'c', 'd', 'e', 'f'] ['abc', 'xyz', 2018, 2020] [1, 2, 3, 4, 5, 6] ['a', 'b', 'c', 'd']

# - 2.1.1访问列表元素

列表是有序集合，因此要访问列表的元素，只需要将该元素的位置或索引告诉Python即可，注意：在Python中的第一个列表元素的索引为0，而不是1

    1
    2
    3
    4
    5

    list = ['a','b','c','d','e','f']
    print(list[0])
    print(list[3])
    print(list[-1])   #Python为访问最后一个列表元素提供了一种特殊语法，通过将索引指定为-1，可以让Python返回最后一个列表元素
    print(list[-3])

输出结果如下：

    1
    2
    3
    4

    a
    d
    f
    d

# - 2.1.2列表切片

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11

    list = ['a','b','c','d','e','f']
    print(list[:])     #省略全部，代表截取全部内容，可以用来将一个列表拷给另一个列表
    print(list[:3])     #省略起始位置的索引，默认起始位置从头开始，结束位置索引为2
    print(list[3:])     #省略结束位置的索引，默认结束位置为最后一个，开始位置索引为3
    print(list[1:4])    #开始位置索引为1，结束位置索引为3，顾头不顾尾
    print(list[4:1])    #从左到右索引，因此为空值
    print(list[-1:-3])   #从左到右索引，因此为空值
    print(list[-3:-1])   #开始位置索引为倒数第三个，结束位置索引为倒数第二个
    print(list[1:5:2])   #开始位置索引为1，结束位置索引为4，间隔2
    print(list[5:1:-1])   #反向取值，开始位置索引为5，结束位置索引为2
    print(list[::-1])    #反向取值，反向输出列表

输出结果如下：

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10

    ['a', 'b', 'c', 'd', 'e', 'f']
    ['a', 'b', 'c']
    ['d', 'e', 'f']
    ['b', 'c', 'd']
    []
    []
    ['d', 'e']
    ['b', 'd']
    ['f', 'e', 'd', 'c']
    ['f', 'e', 'd', 'c', 'b', 'a']

# - 2.1.3使用列表中的各个值

可像使用其他变量一样使用列表中的各个值，例如，我们可以使用拼接根据列表中的值来创建消息：

    1
    2
    3

    list = ['python', 'c', 'c++', 'java', 'php']
    message = "My favorite language is " + list[0].title() + "!"
    print(message)

输出结果如下：

    1

    My favorite language is Python!

# - 2.1.4修改元素

修改列表元素的语法与访问列表元素的语法类似，要修改列表元素，可指定列表名和要修改的元素的索引，再次指定该元素的新值：

    1
    2
    3
    4

    names = ['zhangsan', 'lishi', 'wanger', 'liming', 'xiaowang']
    print(names)
    names[1] = 'lifang'
    print(names)

输出结果如下：

    1
    2

    ['zhangsan', 'lishi', 'wanger', 'liming', 'xiaowang']
    ['zhangsan', 'lifang', 'wanger', 'liming', 'xiaowang']

# - 2.1.5添加元素

- 使用方法 append() 在列表末尾添加元素

    1
    2
    3
    4

    list = ['a', 'b', 'c', 'd', 'e', 'f']
    print(list)
    list.append('g')
    print(list)

输出结果如下：

    1
    2

    ['a', 'b', 'c', 'd', 'e', 'f']
    ['a', 'b', 'c', 'd', 'e', 'f', 'g']

- 使用方法 insert() 在列表指定位置添加元素

    1
    2
    3
    4

    list = ['a', 'b', 'c', 'd', 'e', 'f']
    print(list)
    list.insert(2,"h")    #其中括号里的数字表示要插入的位置，此后面的元素将右移一个位置
    print(list)

输出结果如下：

    1
    2

    ['a', 'b', 'c', 'd', 'e', 'f']
    ['a', 'b', 'h', 'c', 'd', 'e', 'f', 'g']

# - 2.1.6删除元素

- 使用 del 语句删除元素

    1
    2
    3
    4

    list = ['a', 'b', 'c', 'd', 'e', 'f']
    print(list)
    del list[3]
    print(list)

输出结果如下：

    1
    2

    list = ['a', 'b', 'c', 'd', 'e', 'f']
    list = ['a', 'b', 'c', 'e', 'f']

- 使用方法 pop() 删除最后一个元素
方法 pop() 可以删除列表末尾的元素，并让你能够接着使用它。术语弹出（pop）源自这样的类比：列表就像是一个栈，而删除列表末尾的元素就相当于弹出栈顶元素：

    1
    2
    3
    4
    5

    list = ['a', 'b', 'c', 'd', 'e', 'f']
    print(list)
    new_list = list.pop()
    print(list)
    print(new_list)

输出结果如下：

    1
    2
    3

    ['a', 'b', 'c', 'd', 'e', 'f']
    ['a', 'b', 'c', 'd', 'e']
    f

- 使用方法 pop() 删除任意位置元素
可以使用 pop() 来删除列表中任何位置的元素，只需要在括号中指定要删除的元素的索引即可：

    1
    2
    3
    4
    5

    list = ['a', 'b', 'c', 'd', 'e', 'f']
    print(list)
    new_list = list.pop(1)
    print(list)
    print(new_list)

输出结果如下：

    1
    2
    3

    ['a', 'b', 'c', 'd', 'e', 'f']
    ['a', 'c', 'd', 'e', 'f']
    b

- 使用方法 remove() 删除未知位置元素
当我们不知道元素的位置，只知道元素的值的时候，就可以使用方法 remove()

    1
    2
    3
    4

    list = ['a', 'b', 'c', 'd', 'e', 'f']
    print(list)
    list.remove('d')
    print(list)

输出结果如下：

    1
    2

    ['a', 'b', 'c', 'd', 'e', 'f']
    ['a', 'b', 'c', 'e', 'f']

# - 2.1.7使用方法 index() 查找指定元素位置

    1
    2

    list = ["a", "b", "c", "d", "e", "a"]
    print(list.index('c'))

输出结果如下：

    1

    2

# - 2.1.8使用方法 count() 统计指定元素数量

    1
    2

    list = ["a", "b", "c", "d", "e", "a"]
    print(list.count('a'))

输出结果如下：

    1

    2

# - 2.1.9清空列表

    1
    2
    3

    list = ["a", "b", "c", "d", "e", "a"]
    list.clear()
    print(list)

输出结果如下：

    1

    []

# - 2.2组织列表

在创建的列表中，元素的排列顺序常常是无法预测的，因为我们并非总能控制用户提供数据的顺序。有时候，我们希望保留列表元素最初的排列顺序，而有时候又需要调整排列顺序。Python提供了很多组织列表的方式，可根据具体情况选用

# - 2.2.1使用方法 sort() 对列表进行永久排序

使用方法 sort() 可以对列表按照特殊符号，数字，大写字母，小写字母顺序进行永久排序：

    1
    2
    3

    cars = ['bmw', 'audi', 'toyota', 'subaru']
    cars.sort()
    print(cars)

输出结果如下：

    1

    ['audi', 'bmw', 'subaru', 'toyota']

还可以按与字母顺序相反的顺序排列列表元素，只需要向 sort() 方法传递参数 reverse = True 就可以了：

    1
    2
    3

    cars = ['bmw', 'audi', 'toyota', 'subaru']
    cars.sort(reverse = True)
    print(cars)

输出结果如下：

    1

    ['toyota', 'subaru', 'bmw', 'audi']

# - 2.2.2使用函数 sorted() 对列表进行临时排序

要保留列表元素原来的排列顺序，同时以特定的顺序呈现它们，可使用函数sorted()。函数sorted()让你能够按特定顺序显示列表元素，同时不影响它们在列表中的原始排列顺序：

    1
    2
    3
    4
    5
    6
    7
    8
    9

    cars = ['bmw', 'audi', 'toyota', 'subaru']
    print("Here is the original list:")
    print(cars)
    print("\nHere is the sorted list:")
    print(sorted(cars))
    print("\nHere is the sorted reverse list:")
    print(sorted(cars, reverse=True))
    print("\nHere is the original list again:")
    print(cars)

输出结果如下：

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11

    Here is the original list:
    ['bmw', 'audi', 'toyota', 'subaru']

    Here is the sorted list:
    ['audi', 'bmw', 'subaru', 'toyota']

    Here is the sorted reverse list:
    ['toyota', 'subaru', 'bmw', 'audi']

    Here is the original list again:
    ['bmw', 'audi', 'toyota', 'subaru']

# - 2.2.3使用方法 reverse() 对列表进行反向排序

要反转列表元素的排列顺序，可使用方法 reverse()

    1
    2
    3

    cars = ['bmw', 'audi', 'toyota', 'subaru']
    cars.reverse()
    print(cars)

输出结果如下：

    1

    ['subaru', 'toyota', 'audi', 'bmw']

# - 2.2.4确定列表的长度

使用函数 len() 可以快速获悉列表的长度：

    1
    2
    3

    >>>cars = ['bmw', 'audi', 'toyota', 'subaru']
    >>>len(cars)
    4

# - 2.2.5合并列表

- 使用方法 extend() 合并列表

    1
    2
    3
    4
    5

    list1 = [1, 2, 3, 4]
    list2 = ['a', 'b', 'c', 'd']
    list1.extend(list2)    #将列表list2添加到list1当中去
    print(list1)
    print(list2)

输出结果如下：

    1
    2

    [1, 2, 3, 4, 'a', 'b', 'c', 'd']
    ['a', 'b', 'c', 'd']

- 使用 “+” 号合并列表

    1
    2
    3
    4

    list1 = [1, 2, 3, 4]
    list2 = ['a', 'b', 'c', 'd']
    print(list1 + list2)
    print(list2 + list1)

输出结果如下：

    1
    2

    [1, 2, 3, 4, 'a', 'b', 'c', 'd']
    ['a', 'b', 'c', 'd', 1, 2, 3, 4]

- 使用切片合并列表

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14

    list1 = [1, 2, 3, 4]
    list2 = ['a', 'b', 'c', 'd']
    list1[len(list1) : len(list1)] = list2   #len(list1)代表要将list2插入list1中的位置
    print(list1)

    list1 = [1, 2, 3, 4]
    list2 = ['a', 'b', 'c', 'd']
    list1[0 :0] = list2
    print(list1)

    list1 = [1, 2, 3, 4]
    list2 = ['a', 'b', 'c', 'd']
    list1[1:1] = list2
    print(list1)

输出结果如下：

    1
    2
    3

    [1, 2, 3, 4, 'a', 'b', 'c', 'd']
    ['a', 'b', 'c', 'd', 1, 2, 3, 4]
    [1, 'a', 'b', 'c', 'd', 2, 3, 4]

最后更新于 2019年6月12日

###### 上一页

#### Python3 自学笔记 C03

###### 操作列表

###### 下一页

#### Python3 自学笔记 C01

###### 数据类型 变量

#### 评论

## TRHX'S BLOG

求知若饥 虚心若愚

本文目录
站内导航

- 所有文章
- 文章归档
- RSS订阅
- 我的友链
- 留言板
- 关于博主

QQ交流群

访客地图

域名转让

以下闲置域名低价转让，价格非常美丽，给钱就扔，欢迎骚扰：

52bug.club
52bug.xyz
52bug.top
NeedForSpeed.site
文章分类

- BLOG
  (3)
- CDN
  (1)
- Hexo
  (5)
- Java
  (1)
- Linux
  (2)
- Markdown
  (2)
- Python3
  (11)
- WEB前端
  (2)
- 图床
  (1)

热门标签
BLOG CDN Deepin Elicpse Github Github Pages HTTPS Hexo ICP备案 JDBC JS 预加载 Markdown Material X PEP8 PicGo Pygame Python SQL Server 2012 Ubuntu VMware if语句 input()函数 instant.page jsDeliver jsDelivr spfk while循环 主题个性化 公安备案 函数 列表 变量 图床 垃圾 字典 异常 技巧 操作列表 数据类型 文件 模块 类 继承 编辑器
最近在听