/

Python列表

Python列表

列表是一种基本的Python数据结构。

它们允许您将多个值分组并使用一个常用名称引用它们。

例如:

1
dogs = ["Roger", "Syd"]

列表可以保存不同类型的值:

1
items = ["Roger", 1, "Syd", True]

您可以使用in运算符检查一个项是否包含在列表中:

1
print("Roger" in items) # True

列表也可以定义为空:

1
items = []

您可以通过索引引用列表中的项,索引从零开始:

1
2
3
items[0] # "Roger"
items[1] # 1
items[3] # True

使用相同的表示法,您可以更改存储在特定索引处的值:

1
items[0] = "Roger"

您还可以使用index()方法:

1
2
items.index("Roger") # 0
items.index("Syd") # 2

与字符串一样,使用负索引将从末尾开始搜索:

1
items[-1] # True

您还可以使用切片提取列表的一部分:

1
2
items[0:2] # ["Roger", 1]
items[2:] # ["Syd", True]

使用len()全局函数可以获得列表中包含的项数,与我们用于获取字符串长度相同:

1
len(items) # 4

您可以使用列表的append()方法将项添加到列表中:

1
items.append("Test")

或者使用extend()方法:

1
items.extend(["Test"])

您也可以使用+=运算符:

1
2
3
items += ["Test"]

# items is ['Roger', 1, 'Syd', True, 'Test']

提示:使用extend()+=时,请不要忘记方括号。不要写成items += "Test"items.extend("Test"),否则Python会将4个单独的字符添加到列表中,结果为['Roger', 1, 'Syd', True, 'T', 'e', 's', 't']

使用remove()方法删除一个项:

1
items.remove("Test")

您可以使用以下方式添加多个元素:

1
2
3
4
5
items += ["Test1", "Test2"]

#or

items.extend(["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”]