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