下标
列表和字符串一样,都是一组元素组成的集合。字符串由一组字符组成,列表由一组元素组成。列表和字符串一样,每个元素都有自己的位置,这个位置叫做索引或者下标,是从0开始的有序的正整数。
通过下标可以取出指定位置的元素,语法如下:
变量 = 列表变量[下标]
示例:根据下标取出列表中的元素
arr = ["a", "b", "c", "d", "e"]
# 根据下标取值
print(arr[0], arr[1], arr[2], arr[3], arr[4])
# 通过while取值
i = 0
while i < len(arr):
print(arr[i], end="t")
i += 1
print()
输出结果:
a b c d e
a b c d e
查找
查找主要指的是查找元素的索引。在字符串中,可以通过index, find, rindex, rfind
来查找元素的索引,在列表中,可以通过index
来查找元素的索引。
示例:查找元素索引
names = ["张三", "李四", "王五"]
ww = names.index("王五")
print(ww, names[ww])
输出结果:
2 王五
统计元素个数
使用count
方法,可以获取列表中某个元素出现的次数。
示例:统计某个分数出现的次数
scores = [90, 88, 19, 68, 90, 93, 89]
score_count = scores.count(90)
print(f"90分出现的次数:{score_count}")
输出结果:
90分出现的次数:2
获取元素个数
使用len
方法,可以获取元素的个数。这是一个通用方法,也可以用来计算字符串的长度。
示例:获取元素个数
arr = ["aa", "bb", "cc"]
print(len(arr))
print(len("aabbcc"))
输出结果:
3
6
判断是否存在
使用in
运算符,可以判断某个元素是否在列表中。使用not in
运算符,可以判断某个元素是否不在列表中。这两个是通用方法,可以用于序列类型的容器。
示例:判断元素是否在列表中
arr = ["a", "b", "c"]
print("a" in arr)
print("a" not in arr)
print("aa" in arr)
print("aa" not in arr)
输出结果:
True
False
False
True
追加元素到列表
使用append
方法,可以将元素追加到列表中。被追加的元素放在列表的最后一个元素后面。
示例:追加元素
arr = []
for i in range(10):
arr.append(i ** 2)
print(arr)
输出结果:
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
添加列表所有元素到新列表
使用extend
方法可以追加一个序列的所有元素到列表中。序列可以是列表,元组,生成器等。
示例:同时添加多个元素
arr = []
# 扩展字符串
arr.extend("abc")
print(arr)
# 扩展列表
arr.extend([1, 2, 3])
print(arr)
# 扩展元组
arr.extend((True, True, False))
print(arr)
# 扩展生成器
arr.extend(range(4))
print(arr)
输出结果:
['a', 'b', 'c']
['a', 'b', 'c', 1, 2, 3]
['a', 'b', 'c', 1, 2, 3, True, True, False]
['a', 'b', 'c', 1, 2, 3, True, True, False, 0, 1, 2, 3]
插入元素
使用append
方法和extend
方法都是将元素追加到列表的末尾,如果想要把元素插入到列表的特定位置,就需要insert
方法。
示例:插入元素
arr = ["a", "b", "c"]
# 插入元素到最前面
arr.insert(0, "aaa")
print(arr)
# 插入元素到最后面的前一个元素
arr.insert(-1, "ccc")
print(arr)
# insert无法实现追加的效果,要将元素访问最后,使用append方法
arr.append("ddd")
print(arr)
# 将元素插入到中间的某个位置
arr.insert(3, "333")
print(arr)
输出结果:
['aaa', 'a', 'b', 'c']
['aaa', 'a', 'b', 'ccc', 'c']
['aaa', 'a', 'b', 'ccc', 'c', 'ddd']
['aaa', 'a', 'b', '333', 'ccc', 'c', 'ddd']
使用del删除元素
del
是一个通用方法,可以删除变量,也可以用来删除列表的元素。
示例:使用del删除元素
# 生成列表
arr = list(range(4))
print(arr, type(arr))
# 删除列表元素
del arr[0]
print(arr)
# 删除列表
del arr
# print(arr)
输出结果:
[0, 1, 2, 3] <class 'list'>
[1, 2, 3]
删除最后一个元素
使用pop
方法,能够弹出最后一个元素,并将该元素从列表中删除。
示例:弹出最后元素
arr = list(range(10))
print(arr)
# 弹出最后元素
while len(arr) > 0:
print(arr.pop(), end="t")
输出结果:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
9 8 7 6 5 4 3 2 1 0
删除指定位置元素
使用pop(索引)
方法,能够删除指定索引位置的元素。
示例:删除指定位置元素
arr = list(range(10))
print(arr)
# 删除指定位置元素
print(arr.pop(2))
print(arr)
输出结果:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
2
[0, 1, 3, 4, 5, 6, 7, 8, 9]
查找元素并删除
使用remove
方法,可以不依赖索引,直接删除指定的元素。
示例:删除特定元素
arr = ["a", "b", "cc"]
print(arr)
# 删除cc
arr.remove("cc")
print(arr)
输出结果:
['a', 'b', 'cc']
['a', 'b']
清空所有元素
clear
方法可以直接清空列表中所有的元素。
示例代码:清空元素
arr = list(range(100000))
# 直接清空
arr.clear()
print(arr)
输出结果:
[]
修改元素
直接指定索引赋值,即可修改列表中指定索引的元素。
示例:修改元素
arr = list("abc")
print(arr)
# 将b改为张三
arr[1] = "张三"
print(arr)
# 转换为字符串
s = "".join(arr)
print(s, type(s))
输出结果:
['a', 'b', 'c']
['a', '张三', 'c']
a张三c <class 'str'>
列表逆序
使用reverse
方法,能够将列表中的元素倒置过来。
示例:列表逆序
arr = list("abcde")
print(arr)
# 逆序
arr.reverse()
print(arr)
输出结果:
['a', 'b', 'c', 'd', 'e']
['e', 'd', 'c', 'b', 'a']
列表排序
使用sort
能够让列表升序,使用sort(reverse=True)
可以让列表降序。
示例:列表排序
arr = [11, 33, 22, 55, 44]
print(arr)
# 升序
arr.sort()
print(arr)
# 降序
arr.sort(reverse=True)
print(arr)
输出结果:
[11, 33, 22, 55, 44]
[11, 22, 33, 44, 55]
[55, 44, 33, 22, 11]
复制列表
使用copy
方法能够将列表的元素复制到一个新的列表中,实现列表的拷贝。
示例:复制列表
arr = list(range(10))
print(arr)
# 列表拷贝
arr1 = arr.copy()
print(arr1)
# 判断元素相等
print(arr == arr1)
# 判断内存地址相等
print(arr is arr1)
输出结果:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
True
False
列表嵌套
列表可以无限嵌套,但是最常见的是嵌套两层,也就是二维数组。
示例:二维数组
arr = []
# 追加10个列表进去
for i in range(10):
arr.append(list(range(i, i + 10)))
# 查看
for i in arr:
for j in i:
print(j, end="t")
print()
输出结果:
0 1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9 10
2 3 4 5 6 7 8 9 10 11
3 4 5 6 7 8 9 10 11 12
4 5 6 7 8 9 10 11 12 13
5 6 7 8 9 10 11 12 13 14
6 7 8 9 10 11 12 13 14 15
7 8 9 10 11 12 13 14 15 16
8 9 10 11 12 13 14 15 16 17
9 10 11 12 13 14 15 16 17 18
原文始发于微信公众号(张大鹏520):Python基础语法07 列表
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/48654.html