Python基础语法07 列表

下标

列表和字符串一样,都是一组元素组成的集合。字符串由一组字符组成,列表由一组元素组成。列表和字符串一样,每个元素都有自己的位置,这个位置叫做索引或者下标,是从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 = [90881968909389]

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([123])
print(arr)

# 扩展元组
arr.extend((TrueTrueFalse))
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 = [1133225544]
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

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!