持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的4天,点击查看活动详情
👨🎓作者:Java学术趴
💌公众号:Java学术趴
🚫特别声明:原创不易,未经授权不得转载或抄袭,如需转载可联系小编授权。
🙏版权声明:文章里的部分文字或者图片来自于互联网以及百度百科,如有侵权请尽快联系小编。微信搜索公众号Java学术趴联系小编。
☠️每日毒鸡汤:这个社会是存在不公平的,不要抱怨,因为没有用!人总是在反省中进步的!
👋大家好!我是你们的老朋友Java学术趴。我今天又来喽!!今天继续给大家分享Python语言干货知识。
第六章 列表及常用方法
6.1 列表的概述
- list是Python中非常重要的数据结构,是一种有序的数据集合。
6.2 列表的特点
- 支持增删改查操作
- 支持使用下标进行操作
- 例表中的数据是可变化的【数据项可以变化,内存地址不会发生变化】
- 使用 [] 来表示列表类型,数据项之间使用逗号进行分隔。
- 例表中可以存储任意类型的数据
- 支持索引和切片进行操作
列表是一种有序集合,可以随时添加和删除其中的元素
6.3 定义一个列表
- 在Python中列表的类型就是:list
charList: list = [1, '天气', True, 3.14]
for data in charList:
print(data, end=" ")
# 输出的结果是:1 天气 True 3.14
# 使用 range() 函数直接生成一个列表
# 因为 range() 生成的为range类型的数据,这里需要list类型。使用 list() 函数强制转换
charList: list = list(range(1, 10, 2))
print(charList)
# [1, 3, 5, 7, 9]
6.4 列表常用的方法
6.4.1 访问列表中的元素
语法格式:charList[start : end : step]
- list列表中查看元素的方式和截取字符串的方式是完全一样的,切片的使用方式也是一样的
- 使用下标可以访问例表中的值,同样也可以使用方括号的形式截取字符(也叫做切片)
- 当查询的元素有多个的时候,这些元素就会构成一个数组输出,如果只有一个,那么直接输出
charList: list = [1, '天气', True, 3.14, 1]
print(type(charList))
# 查看元素
print(charList[2])
# 天气
print(charList[1:4])
# ['天气', True, 3.14]
print(charList[1:-2])
# ['天气', True]
# 使用切片的方式获取元素,不论获取到的是几个元素,返回值都是一个列表
print(charList[1:2])
# [9]
print(charList[1:1])
# []
# 获取最后一个元素
print(charList[-1])
# 1
# 翻转list集合
print(charList[::-1])
# [1, 3.14, True, '天气', 1]
6.4.2 追加元素
语法格式:
- charList.append() : 在list集合的末尾添加元素
- charList.insert() : 在list集合的指定位置添加元素
不仅可以追加基本的数据元素,还可以追加列表、元组等数据
# 在list末尾添加元素
charList.append(False)
print(charList)
# [1, '天气', True, 3.14, 1, False]
# 在指定位置添加元素
charList.insert(0, 'Python')
print(charList)
# ['Python', 1, '天气', True, 3.14, 1, False]
# 如果添加指定的位置不存在,那么就添加到末尾
charList.insert(100, '不存在')
print(charList)
# ['Python', 1, '天气', True, 3.14, 1, False, '不存在']
# 追加一个列表
charList: list = [1, 'abc', True, 3.14]
# 追加一个列表
charList.append(['False', 'bcd'])
print(charList)
# [1, 'abc', True, 3.14, ['False', 'bcd']]
6.4.3 修改元素
- 获取到指定元素然后从新复制
# 修改指定元素
charList[0]: int = 100
print(charList)
# [100, '天气', True, 3.14, 1]
6.4.4 查看元素
语法格式
- charList.count('指定元素') : 获取list列表中指定元素的个数
- charList.index(指定元素) : 获取指定元素第一次出现的下标值
charList: list = [1, '天气', True, 3.14, 1]
# 查看元素
print(charList.count('1'))
# 2
print(charList.index('1'))
# 0
6.4.5 删除元素
语法格式
- charList.pop() : 默认删除最后一个。如果指定下标值,删除指定下标值的那个元素。如果指定删除的元素不存在,则会越界报错。返回值是删除的元素
charList: list = [1, '天气', True, 3.14, 1]
# 删除元素
print(charList.pop())
# 1
print(charList.pop(2))
# True
print(charList)
# [1, '天气', 3.14, 1]
- charList.remove(1 / '天气' / True) : 小括号中指定的list集合中的元素,此方法没有返回值
- 这个参数就是列表中的元素,是int类型就写int类型。str类型就写str类型
charList: list = [1, '天气', True, 3.14, 1]
# 删除元素
# 当一个list中存在多个一样的元素的时候,先删除第一个,执行一次remove()只会删除一个元素
print(charList.remove(1))
# None
print(charList.remove('天气'))
# None
print(charList)
# [True, 3.14, 1]
- del charList['下标值'] : 删除指定的元素 。这个方法没有返回值
del可以删除单个元素,也可以删除多个元素。使用切片就可以一次删除多个元素。
charList: list = [1, '天气', True, 3.14, 1]
# 删除单个元素
del charList[1]
print(charList)
# [1, True, 3.14, 1]
# 如果删除的下表不存在会报越界的错误
# 删除多个元素,使用切片
del charList[1:3]
print(charList)
# [1, 1]
- charList.clear() : 清空整个列表。没有返回值
# 清空元素
charList.clear()
print(charList)
# []
6.4.6 排序
语法格式
- charList.reverse() : 数组顺序颠倒。翻转列表元素。不会创建新的列表,无返回值
- charList[::-1] : 会创建一个新的列表。返回值是一个新的列表
charList: list = [1, '天气', True, 3.14]
# 翻转列表 1
charList.reverse()
print(charList)
# [3.14, True, '天气', 1]
# 翻转列表 2
charList2: list = charList[::-1]
print(charList2)
# [1, '天气', True, 3.14]
- charList.sort() : 默认升序。这个方法也没有返回值,不会创建新的列表
- charList.sort(reverse=False) : 默认赋值就是 False,所以升序的时候就省略了
重点:使用这个方法列表中不可以存在字符串,否则报错。因为字符串没有办法比较
列表中可以存在整数、小数、bool类型数据。 True = 1,False = 0
charList: list = [1.2, 9, 3.9, 2, True, 0.6, False]
# 升序排序
charList.sort()
print(charList)
# [False, 0.6, True, 1.2, 2, 3.9, 9]
- charList.sort(reverse=True) : 降序排序
charList: list = [1.2, 9, 3.9, 2, True, 0.6, False]
# 升序排序
charList.sort(reverse=True)
print(charList)
# [9, 3.9, 2, 1.2, True, 0.6, False]
6.4.7 复制数组
- charList.copy() : 复制出一个新的数组,数组中的元素和原始的数组中的元素一致
charList2: list = charList.copy()
print(charList2)
6.4.8 获取列表的长度
- len(charList) : 获取列表的长度
charList: list = [1.2, 9, 3.9, 2, True, 0.6, False]
print(len(charList))
# 7
6.4.9 将指定的数组内容进行扩大(相当于复制)
# 将原始全部的列表元素扩大三倍合成一个新的列表
print(charList * 3)
# ['abc', 0.6, False, 'abc', 0.6, False, 'abc', 0.6, False]
# 将原始列表中的一部分元素扩大三倍合成一个新的列表
print(charList[:1] * 3)
# ['abc', 'abc', 'abc']
# 如果输出的是单个字符,此时输出的就不是一个列表,此时会进行运算
print(charList[0] * 3)
# abcabcabc
print(charList[1] * 3)
# 1.7999999999999998
print(charList[2] * 3)
# 0
6.9.10 批量添加元素
- charList.extend(另一个列表) :这个方法可以把两个列表拼接到一起。不会产生新的列表,这个列表是调用这个方法的列表。
- 这个方法追加一个列表,会把新旧两个列表拼接在一起形成一个列表,而不是追加一个独立元素。注意和append()的追加一个列表的区别
# 批量添加元素,参数是一个列表。该方法不会创建新的列表,没有返回值
# 这个方法不会进行去重处理,只是简单的进行拼接
charList: list = [1, 'abc', True]
# append() 追加一个列表
charList.append(['False', 'bcd'])
print(charList)
# [1, 'abc', True, 3.14, ['False', 'bcd']]
# extend() 追加一个列表
charList.extend([False, 'bcd'])
print(charList)
# [1, 'abc', True, 3.14, False, 'bcd']