List(列表)
Last updated
Last updated
List (列表)是 Python 内置的一种数据类型。 它是一种有序的集合,可以随时添加和删除其中的元素。
那为什么要有 List (列表)呢?
我们用一个例子来说明。
现在有一个团队要出去玩,要先报名。如果用我们之前学过的知识,那么就是用一个字符串变量把他们都记录起来。
但是这样太麻烦了,而且也不美观。
在编程中,一定要学会偷懒,避免「重复性工作」。如果有一百个成员,那么你及时是复制粘贴,也会把你写烦。
这时候就可以使用列表了。
就这样,一行代码就可以存放 N 多个名字了。
从上面的例子可以分析出,列表的格式是这样的。
其实列表就是用中括号 []
括起来的数据,里面的每一个数据就叫做元素。每个元素之间使用逗号分隔。
而且列表的数据元素不一定是相同的数据类型。
比如:
这里有字符串类型,还有整数类型。
我们尝试把他打印出来,看看打印的结果是怎样的。
结果如下:
就像一开始的例子,我们有时候不需要把全部人员的姓名都打印出来,有时候我们需要知道第 3 个报名的人是谁?前两名报名的是谁?
那么怎么从列表中取出来呢?
换种问法就是,怎么去访问列表中的值?
这时候我们可以通过列表的下标索引来访问列表中的值,同样你也可以使用方括号的形式截取字符。
例如:
输出的结果:
可见,我们需要知道知道 name
这个列表中第三个报名的是谁?只需要用 name[2]
就可以了。
这里你会问,为什么是 2 ,不是 3 呢?
这是因为在编程世界中,都是从 0 开始的,而不是我们生活习惯中从 1 开始。
所以需要知道第三个是谁?
那就是 name[2]
就可以了。
从例子来看,我们还把 name[0:2]
的结果打印出来了。
从打印结果来看,只打印了第一,第二个元素内容。
这里可能会有疑问?
为什么不是打印前三个啊,不是说 2 就是第 3 个吗?
那是因为这是左闭右开区间的。
所以 name[0:2]
的意思就是从第 0 个开始取,取到第 2 个,但是不包含第 2 个。
还是那句话,为了更好的理解,可以多去尝试,多去玩编程。
所以你可以尝试下下面的各种方式:
看看输出的结果:
根据输出的结果和上面讲到的知识,就很容易理解其中的一些用法了。
还是一开始的例子,我们用代码记录了报名人的名字,那后面可能会有新人加入,也有可能会发现一开始写错名字了,想要修改。
这时候怎么办呢?
这时候可以通过索引对列表的数据项进行修改或更新,也可以使用 append() 方法来添加列表项。
输出的结果:
那既然这样,肯定会有人中途退出的。
那么我们就需要在列表中,把他的名字去掉。
这时候使用 del 语句来删除列表的的元素
输出的结果:
你看输出的结果,列表中已经没有了 四点水
这个数据了。证明已经删除成功了。
列表对 +
和 *
的操作符与字符串相似。+
号用于组合列表,*
号用于重复列表。
len([1, 2, 3])
3
计算元素个数
[1, 2, 3] + [4, 5, 6]
[1, 2, 3, 4, 5, 6]
组合
['Hi!'] * 4
['Hi!', 'Hi!', 'Hi!', 'Hi!']
复制
3 in [1, 2, 3]
True
元素是否存在于列表中
for x in [1, 2, 3]: print x,
1 2 3
迭代
len(list)
列表元素个数
max(list)
返回列表元素最大值
min(list)
返回列表元素最小值
list(seq)
将元组转换为列表
list.append(obj)
在列表末尾添加新的对象
list.count(obj)
统计某个元素在列表中出现的次数
list.extend(seq)
在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
list.index(obj)
从列表中找出某个值第一个匹配项的索引位置
list.insert(index, obj)
将对象插入列表
list.pop(obj=list[-1])
移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
list.remove(obj)
移除列表中的一个元素(参数是列表中元素),并且不返回任何值
list.reverse()
反向列表中元素
list.sort([func])
对原列表进行排序
最后通过一个例子来熟悉了解 List 的操作
例子: