THE WORLD'S LARGEST WEB DEVELOPER SITE

Python列表


Python集合(数组)

Python编程语言中有四种收集数据类型:

  • 列表是有序且可更改的集合。允许重复的成员。
  • 元组是有序且不可更改的集合。允许重复的成员。
  • Set是无序和未索引的集合。没有重复的成员。
  • 字典是无序,可变和索引的集合。没有重复的成员。

选择集合类型时,了解该类型的属性很有用。为特定数据集选择正确的类型可能意味着保留含义,并且可能意味着效率或安全性的提高。

清单

列表是有序且可更改的集合。在Python中,列表用方括号括起来。

创建一个列表:

thislist = ["apple", "banana", "cherry"]
print(thislist)
自己尝试»

存取项目

您通过引用索引号访问列表项:

打印列表的第二项:

thislist = ["apple", "banana", "cherry"]
print(thislist[1])
自己尝试»

负索引

负索引是指从头开始,-1指的是最后一项,-2指的是倒数第二项, 依此类推。

打印列表的最后一项:

thislist = ["apple", "banana", "cherry"]
print(thislist[-1])
自己尝试»

指标范围

您可以通过指定范围的起点和终点来指定索引范围。

指定范围时,返回值将是包含指定项目的新列表。

返回第三,第四和第五项:

thislist = ["apple", "banana", "cherry", "orange", "kiwi", "melon", "mango"]
print(thislist[2:5])
自己尝试»

注意:搜索将从索引2(包括)开始,到索引5(不包括)结束。

请记住,第一项的索引为0。

通过省略起始值,范围将从第一项开始:

本示例将项目从开头返回到“橙色”:

thislist = ["apple", "banana", "cherry", "orange", "kiwi", "melon", "mango"]
print(thislist[:4])
自己尝试»

通过省略结束值,范围将继续到列表的末尾:

本示例从“樱桃”返回到末尾:

thislist = ["apple", "banana", "cherry", "orange", "kiwi", "melon", "mango"]
print(thislist[2:])
自己尝试»

负指数范围

如果要从列表末尾开始搜索,请指定负索引:

本示例将项目从索引-4(包括)返回到索引-1(排除)

thislist = ["apple", "banana", "cherry", "orange", "kiwi", "melon", "mango"]
print(thislist[-4:-1])
自己尝试»

更改项目值

要更改特定项目的值,请参考索引号:

更改第二项:

thislist = ["apple", "banana", "cherry"]
thislist[1] = "blackcurrant"
print(thislist)
自己尝试»


遍历列表

您可以使用循环来遍历列表项for

一张一张地打印列表中的所有项目:

thislist = ["apple", "banana", "cherry"]
for x in thislist:
  print(x)
自己尝试»

您将for在“ Python For循环”一章中了解有关循环的更多信息


检查项目是否存在

要确定列表中是否存在指定的项目,请使用in关键字:

检查列表中是否存在“苹果”:

thislist = ["apple", "banana", "cherry"]
if "apple" in thislist:
  print("Yes, 'apple' is in the fruits list")
自己尝试»

清单长度

要确定列表中有多少项,请使用以下 len()功能:

打印列表中的项目数:

thislist = ["apple", "banana", "cherry"]
print(len(thislist))
自己尝试»

新增项目

要将项目添加到列表的末尾,请使用append() 方法:

使用append()方法附加项目:

thislist = ["apple", "banana", "cherry"]
thislist.append("orange")
print(thislist)
自己尝试»

要在指定的索引处添加项目,请使用insert()方法:

插入一个项目作为第二个位置:

thislist = ["apple", "banana", "cherry"]
thislist.insert(1, "orange")
print(thislist)
自己尝试»

除去项目

有几种方法可以从列表中删除项目:

remove()方法删除指定的项目:

thislist = ["apple", "banana", "cherry"]
thislist.remove("banana")
print(thislist)
自己尝试»

pop()方法将删除指定的索引(如果未指定index,则删除最后一项):

thislist = ["apple", "banana", "cherry"]
thislist.pop()
print(thislist)
自己尝试»

所述del关键字删除指定索引:

thislist = ["apple", "banana", "cherry"]
del thislist[0]
print(thislist)
自己尝试»

del关键字也可以完全删除列表:

thislist = ["apple", "banana", "cherry"]
del thislist
自己尝试»

clear()方法清空列表:

thislist = ["apple", "banana", "cherry"]
thislist.clear()
print(thislist)
自己尝试»

复制清单

您不能复制名单简单地打字list2 = list1,因为:list2将只能是一个 参考list1,和所做的更改 list1会自动也在进行 list2

有很多方法可以制作副本,一种方法是使用内置的List方法 copy()

使用以下copy()方法复制列表

thislist = ["apple", "banana", "cherry"]
mylist = thislist.copy()
print(mylist)
自己尝试»

制作副本的另一种方法是使用内置方法list()

使用以下list()方法复制列表

thislist = ["apple", "banana", "cherry"]
mylist = list(thislist)
print(mylist)
自己尝试»

合并两个列表

在Python中,有几种方法可以连接或连接两个或多个列表。

最简单的方法之一是使用+ 运算符。

加入两个列表:

list1 = ["a", "b" , "c"]
list2 = [1, 2, 3]

list3 = list1 + list2
print(list3)
自己尝试»

联接两个列表的另一种方法是将list2中的所有项一个接一个地追加到list1中:

将list2追加到list1中:

list1 = ["a", "b" , "c"]
list2 = [1, 2, 3]

for x in list2:
  list1.append(x)

print(list1)
自己尝试»

或者,您可以使用extend() 方法,其目的是将一个列表中的元素添加到另一列表中:

使用此extend()方法将list2添加到list1的末尾:

list1 = ["a", "b" , "c"]
list2 = [1, 2, 3]

list1.extend(list2)
print(list1)
自己尝试»

list()构造函数

也可以使用list()构造函数创建一个新列表。

使用list()构造函数创建一个列表:

thislist = list(("apple", "banana", "cherry")) # note the double round-brackets
print(thislist)
自己尝试»

清单方法

Python有一组内置方法,您可以在列表上使用它们。

Method Description
append()Adds an element at the end of the list
clear()Removes all the elements from the list
copy()Returns a copy of the list
count()Returns the number of elements with the specified value
extend()Add the elements of a list (or any iterable), to the end of the current list
index()Returns the index of the first element with the specified value
insert()Adds an element at the specified position
pop()Removes the element at the specified position
remove()Removes the item with the specified value
reverse()Reverses the order of the list
sort()Sorts the list