Python列表
列表是一种基本的Python数据结构。
它们允许您将多个值分组并使用一个常用名称引用它们。
例如:
1 | dogs = ["Roger", "Syd"] |
列表可以保存不同类型的值:
1 | items = ["Roger", 1, "Syd", True] |
您可以使用in
运算符检查一个项是否包含在列表中:
1 | print("Roger" in items) # True |
列表也可以定义为空:
1 | items = [] |
您可以通过索引引用列表中的项,索引从零开始:
1 | items[0] # "Roger" |
使用相同的表示法,您可以更改存储在特定索引处的值:
1 | items[0] = "Roger" |
您还可以使用index()
方法:
1 | items.index("Roger") # 0 |
与字符串一样,使用负索引将从末尾开始搜索:
1 | items[-1] # True |
您还可以使用切片提取列表的一部分:
1 | items[0:2] # ["Roger", 1] |
使用len()
全局函数可以获得列表中包含的项数,与我们用于获取字符串长度相同:
1 | len(items) # 4 |
您可以使用列表的append()
方法将项添加到列表中:
1 | items.append("Test") |
或者使用extend()
方法:
1 | items.extend(["Test"]) |
您也可以使用+=
运算符:
1 | items += ["Test"] |
提示:使用
extend()
或+=
时,请不要忘记方括号。不要写成items += "Test"
或items.extend("Test")
,否则Python会将4个单独的字符添加到列表中,结果为['Roger', 1, 'Syd', True, 'T', 'e', 's', 't']
使用remove()
方法删除一个项:
1 | items.remove("Test") |
您可以使用以下方式添加多个元素:
1 | items += ["Test1", "Test2"] |
这将把项添加到列表的末尾。
要在列表的中间、特定索引处添加一个项,请使用insert()
方法:
1 | items.insert(1, "Test") # 在索引1处添加"Test" |
要在特定索引处添加多个项,需要使用切片:
1 | items[1:1] = ["Test1", "Test2"] |
使用sort()
方法对列表进行排序:
1 | items.sort() |
提示:只有当列表包含可以进行比较的值时,
sort()
方法才能工作。例如,字符串和整数不能进行比较,如果尝试比较将出现类似TypeError: '<' not supported between instances of 'int' and 'str'
的错误。
sort()
方法首先按大写字母排序,然后按小写字母排序。要解决这个问题,请使用:
1 | items.sort(key=str.lower) |
对列表进行排序会修改原始列表内容。为了避免这种情况,您可以通过复制列表内容或使用sorted()
全局函数:
1 | itemscopy = items[:] |
或者使用sorted()
全局函数:
1 | print(sorted(items, key=str.lower)) |
这将返回一个经过排序的新列表,而不是修改原始列表。
tags: [“Python”, “Lists”, “Data Structure”, “Programming”]