介绍
Python 3有一些内置的数据结构,包括列表。数据结构为我们提供了一种组织和存储数据的方法,我们可以使用内置方法来检索或操作该数据。 为了充分利用本教程,您应该熟悉列表数据类型,其语法以及如何编制索引。您可以通过阅读教程审查名单
在Python 3理解列表 。在这里,我们将通过内置的方法,您可以使用带有清单的工作。我们将向列表中添加项目和从列表中删除项目,扩展列表,反向和排序列表等。 重要的是要记住列表是可变的或可变的数据类型。不像
字符串 ,这是不可改变的,只要你的清单上使用的方法,你会影响列表本身,而不是列表的副本。 在本教程中,我们将主要使用一个列表,其中包括各种鱼的库存,当鱼添加到市政水族馆或从市政水族馆中删除时,我们需要修改。
list.append()
该方法
list.append(x)
将一个项目(加
x
)到一个列表的末尾。我们将从分布在水族馆的鱼类列表开始。
fish = ['barracuda','cod','devil ray','eel']
这份名单是由4串项目,其指数的范围从
'barracuda'
在0至
'eel'
在索引3。 我们刚刚有一条新的鱼进入水族馆今天,我们想添加到我们的列表中的鱼。我们会通过我们的新鱼式,串
'flounder'
到
list.append()
方法,然后打印出修改后的名单,以确认加入该项目。
fish.append('flounder')
print(fish)
Output['barracuda', 'cod', 'devil ray', 'eel', 'flounder']
现在,我们有我们与传递到项目结束5串项目的列表
.append()
函数。
list.insert()
该
list.insert(i,x)
方法有两个参数,与
i
是你想添加一个项目的索引位置,并
x
作为项目本身。 我们的水族馆获得了另一条新鱼,an鱼。您可能已经注意到,到目前为止,名单
fish
是按字母顺序排列。 正因为如此,我们不希望只是字符串添加
'anchovy'
到年底
fish
与
list.append()
函数。 相反,我们将使用
list.insert()
添加
'anchovy'
到这个列表索引位置的开始
0
:
fish.insert(0,'anchovy')
print(fish)
Output['anchovy', 'barracuda', 'cod', 'devil ray', 'eel', 'flounder']
在这种情况下,我们将字符串项添加到列表的前面。每个连续的项目现在将在一个新的索引号,因为他们都已下移。因此,
'barracuda'
将在索引1,
'cod'
将在指数2,和
'flounder'
-最后一个项目-将在索引5。 如果在这一点上,我们正在把一个雀鲷水族馆,我们想维护基于上述清单上的字母顺序,我们将投入项目索引
3
:
fish.insert(3,'damselfish')
list.extend()
如果我们要结合多个列表,我们可以使用
list.extend(L)
方法,该方法在第二列表作为其参数。 我们的水族馆欢迎来自另一个正在关闭的水族馆的四条新鱼。我们有这些鱼一起在列表中
more_fish
:
more_fish = ['goby','herring','ide','kissing gourami']
现在,我们将添加列表中的项目
more_fish
到列表中
fish
和打印清单,以确保第二个列表成立:
fish.extend(more_fish)
print(fish)
Output['anchovy', 'barracuda', 'cod', 'devil ray', 'eel', 'flounder', 'goby', 'herring', 'ide', 'kissing gourami']
在这一点上,该列表
fish
是由10个项目。
list.remove()
当我们需要从列表中删除一个项目,我们将使用
list.remove(x)
方法,这在其价值相当于一个列表中删除的第一个项目
x
。 一群当地的研究科学家来参观水族馆。他们正在研究接吻鱼的种类。他们已要求把我们接吻鱼借给他们,所以我们想删除
'kissing gourami'
从列表中的项目,以反映这种变化:
fish.remove('kissing gourami')
print(fish)
Output['anchovy', 'barracuda', 'cod', 'devil ray', 'eel', 'flounder', 'goby', 'herring', 'ide']
继使用的
list.remove()
方法,我们的名单不再有
'kissing gourami'
项目。 如果您在传递一个项目
x
在
list.remove()
并不在列表中存在,您会收到以下错误:
OutputValueError: list.remove(x): x not in list
请记住,
list.remove()
将只删除您传递给它的项目的第一个实例,因此,如果我们有两个接吻攀鲈在我们的水族馆,我们只借给一个科学家,我们可以使用的相同的构造
fish.remove('kissing gourami')
仍然有我们的名单上第二个接吻鱼。
list.pop()
我们可以使用
list.pop([i])
方法在列表中的指定索引位置返回的项目,然后删除该项目。 周围的方括号
i
对指数告诉我们,这个参数是可选的,所以如果我们不指定索引(如
fish.pop()
最后一个项目将被退回并删除。 我们的魔鬼射线已经变得太大,我们的水族馆,幸运的是,一个水族馆,几个城市可以适应光线的需要。我们将使用
.pop()
并指定索引号(
3
串项)
'devil ray'
从我们的名单中删除的项目,并通过返回它,我们将确认我们正在删除正确的项目。
print(fish.pop(3))
print(fish)
Outputdevil ray
['anchovy', 'barracuda', 'cod', 'eel', 'flounder', 'goby', 'herring', 'ide']
通过使用
.pop()
方法,我们能够返回,并删除
'devil ray'
从列表中
fish
。 如果我们没有参数传递给此方法并执行
fish.pop()
最后一个项目
'ide'
将返回,然后从列表中删除。
list.index()
当列表开始变长时,我们更难以计数我们的项目以确定某个值位于什么索引位置。我们可以使用
list.index(x)
,其中
x
相当于一个项目值,以便在那里该项目所在的列表中返回的索引。 如果存在与价值多个项目
x
,此方法将返回第一个索引位置。
print(fish)
print(fish.index('herring'))
Output['anchovy', 'barracuda', 'cod', 'eel', 'flounder', 'goby', 'herring', 'ide']
6
虽然名单
fish
也不是很长,我们仍然能够确定该项目的索引位置
'herring'
不计。每个项目的索引对于知道非常重要,以便我们能够有效地操纵列表。 如果我们指定一个值,我们会收到一个错误
.index()
并没有这样的价值存在于给定列表:
ValueError: 'x' is not in list
。
list.copy()
当我们用一个列表工作,可能想操纵它在多个方面同时还具有原始列表提供给我们不变的,我们可以用
list.copy()
使列表的副本。 我们将通过从返回的值
fish.copy()
为变量
fish_2
,然后打印出的价值
fish_2
以确保它具有相同的项目,如清单
fish
。
fish_2 = fish.copy()
print(fish_2)
Output['anchovy', 'barracuda', 'cod', 'eel', 'flounder', 'goby', 'herring', 'ide']
在这点上,既
fish
和
fish_2
是等价列表。
list.reverse()
我们可以通过使用逆向列表中的项目的顺序
list.reverse()
方法。 也许,我们使用反向字母顺序而不是传统的字母顺序更方便。 在这种情况下,我们需要使用
.reverse()
方法用
fish
列表具有列表到位被颠倒。
fish.reverse()
print(fish)
Output['ide', 'herring', 'goby', 'flounder', 'eel', 'cod', 'barracuda', 'anchovy']
使用后
.reverse()
方法,我们的名单开始的项目
'ide'
这是在我们列表的末尾,并结束
'anchovy'
,这是在列表的开始。
list.count()
所述
list.count(x)
方法将返回值的次数
x
指定列表内发生。 当我们有一个包含大量匹配值的长列表时,我们可能需要使用此方法。 如果我们有一个较大的水族馆,例如,我们不得不对每一个项目,我们不得不每霓虹灯鱼,我们可以使用
.count()
来确定,我们有在任何给定时间霓虹灯鱼的总数。 我们将使用我们现有的清单来计算时代的项目数
'goby'
出现:
print(fish.count('goby'))
Output1
因为字符串
'goby'
只出现一次,当我们使用返回1号
.count()
方法。 让我们也使用这个方法与整数列表。我们的水族馆致力于为每一条鱼提供极大的关心,所以我们跟踪我们的鱼是多么老,所以我们可以确保他们的饮食满足鱼的需要,基于他们的年龄。本次名单,
fish_ages
相当于鱼从我们的其他列表,类型
fish
。 因为1岁的鱼有特殊的饮食需求,我们要计算有多少1年鱼:
fish_ages = [1,2,4,3,2,1,1,2]
print(fish_ages.count(1))
Output3
整数
1
时在列表
fish_ages
3倍,因此,当我们使用
.count()
方法中,返回的数字3。
list.sort()
我们可以使用
list.sort()
方法在列表中的项目进行排序。 就像
list.count()
list.sort()
可以使它更加明显,我们多少有一定的整数值的有,也可以把数的未分类的列表转换成数字顺序。 让我们用整数列表,
fish_ages
看到
.sort()
中的操作方法:
fish_ages.sort()
print(fish_ages)
Output[1, 1, 1, 2, 2, 2, 3, 4]
通过使用
.sort()
与
fish_ages
,整数值按顺序返回。在实践中,由于这些年龄对应于特定的鱼,您可能需要在排序之前制作原始列表的副本。
List.clear()
当我们用列表做的,我们可以通过去除其中包含的所有值
list.clear()
方法。 地方政府决定接管我们的水族馆,使其成为我们城市人民享受的公共空间。由于我们不再水族箱自己的工作,我们不再需要保持鱼的清单,让我们清除
fish
列表:
fish.clear()
print(fish)
Output[]
我们收到的方括号作为我们的输出使用后
.clear()
的函数
fish
,让我们知道,名单现在清除所有项目。
结论
作为一个可变的或可变的有序序列的元素,列表是Python中非常灵活的数据结构。列表方法使我们能够以复杂的方式使用列表。我们可以结合使用方法,
其他的方法来修改列表 ,以便有一个全方位的工具,在我们的程序有效地使用名单。