联博_Python小白零基础入门 —— 列表和元组
发表时间:2021-12-21 浏览量:99
Python小白零基础入门 —— 列表和元组
Python小白零基础入门 —— 列表和元组
这是Python零基础入门的第二篇文章,这篇文章给人人先容列表和元组都是什么,以及相关的常见操作。
列表
-
列表是什么?
在接触一个新的事物之前,我习惯先也许领会这个器械是什么,这个器械有什么用。在我的明白中,列表就是一个数据容器,用途自然就是存储林林总总的数据,例如上一篇文章中先容的数值型、布尔型以及浮点型数据。
在Python中,用方括号[]来示意列表,并用逗号来支解其中的元素。
#列表中的数据可以是相同类型的
numbers = [1, 2, 3, 4, 6] #全为数字
bools = [True, False, False, True, True] #全为布尔值
strings = ['A', 'B', 'C', 'D'] #全为字符串
lists = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] #全为列表
#列表中的数据也可以是差别类型的
mix_list = [1, 'A', False, True, 'B', 2]
-
列表常见的操作
- 接见列表元素及切片
假设我有一个列表如下,内里按顺序存储了今天晚上6点前在便利店消费过的所有主顾的姓名
consumers = ['张三', '李四', '王五', '老王', '小明']
若是想提取出第一位主顾(或第三位、最后一位),需要用到列表的索引,这和上一篇文章中讲到的字符串的索引原理是一模一样的,直接来看代码。
In [1]: consumers = ['张三', '李四', '王五', '老王', '小明']
#提取出第一位主顾(索引从0最先)
In [2]: consumers[0]
Out[2]: '张三'
#提取第三位主顾
In [3]: consumers[2]
Out[3]: '王五'
#提取最后一位主顾
In [4]: consumers[-1]
Out[4]: '小明'
固然,也可以提取出前三位主顾或每隔两位主顾取一个
#consumers = ['张三', '李四', '王五', '老王', '小明']
#提取出前三位主顾
In [5]: consumers[:3]
Out[5]: ['张三', '李四', '王五']
#每隔两位主顾取一个
In [6]: consumers[::2]
Out[6]: ['张三', '王五', '小明']
若是你掌握了上篇文章中字符串的索引和切片操作,那么这些应该是很容易就明白了的。
2.修改元素
若是由于人为因素,将小白错认成了小明,那如何将主顾列表中的'小明'修改成'小白'呢?修改列表元素的语法与接见列表元素的语法类似:
#consumers = ['张三', '李四', '王五', '老王', '小明']
#小明是列表中的最后一个元素
#先定位到小明所在的索引位置-1
#再指定该位置的新值
In [10]: consumers[-1] = '小白'
In [11]: consumers
Out[11]: ['张三', '李四', '王五', '老王', '小白']
- 添加元素
之后又有主顾举行了消费,那么就需要把新消费的主顾添加进列表(暂时不思量重复购置的情形),需要使用append()往列表尾部添加元素
# consumers = ['张三', '李四', '王五', '老王', '小白']
# append()往列表尾部添加元素
In [12]: consumers.append('明白')
In [13]: consumers
Out[13]: ['张三', '李四', '王五', '老王', '小白', '明白']
若是你想把新值插入到指定的位置,也是可以实现的,此时需要用到insert()方式
In [14]: consumers = ['张三', '李四', '王五', '老王', '小白']
#往索引为0也就是列表首位插入新元素
In [15]: consumers.insert(0,'明白')
#插入新元素之后,其他元素往后移一位
In [16]: consumers
Out[16]: ['明白', '张三', '李四', '王五', '老王', '小白'
]
4.删除元素
若是由于错误纪录或者重复纪录,我们想删除列表中的元素,有以下三种方式可以实现:
① del list[index]
适用场景:已知索引位置举行删除
In [17]: consumers = ['张三', '李四', '王五', '老王', '小白']
#删掉'小白'
In [18]: del consumers[-1]
In [19]: consumers
Out[19]: ['张三', '李四', '王五', '老王']
② list.pop()
适用场景:要将一个元素从列表中删除,而且需要获取这个被删除的元素
,,www.th666888111.com采用以太坊区块链高度哈希值作为统计数据,联博以太坊统计数据开源、公平、无任何作弊可能性。联博统计免费提供API接口,支持多语言接入。
In [20]: consumers = ['张三', '李四', '王五', '老王', '小白']
# pop()默认删除列表的最后一个元素
# 删除的同时会将这个值返回给你
In [21]: consumers.pop()
Out[21]: '小白'
#删除后的列表
In [22]: consumers
Out[22]: ['张三', '李四', '王五', '老王']
固然你也可以行使pop()删除指定位置的元素,只需要指定元素的索引即可
In [23]: consumers = ['张三', '李四', '王五', '老王', '小白']
#在列表中删掉'老王这个纪录'
In [24]: consumers.pop(3)
Out[24]: '老王'
In [25]: consumers
Out[25]: ['张三', '李四', '王五', '小白']
③ list.remove()
适用场景:不知道要删除的值的索引,但知道要删除的元素的值
In [28]: consumers = ['张三', '李四', '王五', '老王', '小白']
#删除列表中的'张三'
In [29]: consumers.remove('张三')
In [30]: consumers
Out[30]: ['李四', '王五', '老王', '小白']
- 反转列表的值
若是我们想根据由近及远的时间顺序查看消费的主顾,可以使用reverse()方式:
In [31]: consumers = ['张三', '李四', '王五', '老王', '小白']
In [32]: consumers.reverse()
In [33]: consumers
Out[33]: ['小白', '老王', '王五', '李四', '张三']
- 查看列表的长度
当一天竣事后,我们想查看一天下来有若干主顾举行了消费,可以使用len()来查看列表中有若干个元素。
In [34]: consumers = ['张三', '李四', '王五', '老王', '小白']
In [35]: len(consumers)
Out[35]: 5
对于列表的基本操作就先容到这里,下面给人人先容另外一个常用的数据容器——元组。
元组
信赖经由上面的先容,人人会感觉到列表的操作很天真,可以举行随便的增删改操作。元组虽说也是一个数据容器,然则对一个元组而言,只要界说好一个元组后,这个元组是不可变的,不能举行任何的增删改操作,因而也被称之为不可变的列表。
例如,若是有一个长度和宽度都牢固的矩形,那么就可以将矩形的长度和宽度存储在一个元组中,确保它不被修改。
-
元组的界说
元组是用圆括号()来界说的(区别于列表的方括号[])
* # 界说一个元组
In [42]: tuple = (500,200)
In [43]: tuple
Out[43]: (500, 200)
-
接见元组元素
接见元组中元素的操作和列表的完全一样,如下:
In [42]: tuple = (500,200)
In [44]: tuple[0]
Out[44]: 500
In [45]: tuple[1]
Out[45]: 200
In [46]: tuple[-1]
Out[46]: 200
但若是你想修改元组中的值时,Python会报错
In [47]: tuple[0] = 200
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-47-f715faf570e9> in <module>
----> 1 tuple[0] = 200
TypeError: 'tuple' object does not support item assignment
练习题
1.天生一个空列表,将你最喜欢的5个女明星添加到列表中
2.在上面的列表中,将列表中第三个女明星替换成你最喜欢的男明星
3.去掉在列表中你相对最不喜欢的女明星(指定索引的方式和指定元素的方式)
4.用两种方式将列表举行反转
5..查看现在你的列表中有几个明星
猜您喜欢
往期精选▼
- Python小白零基础入门 —— 变量及简朴的数据类型
- 超级菜鸟怎么入门数据剖析?
关注我们
1529321439513643.jpg
民众号:Python读数
一个纪录发展的民众号
原创不易,若是以为有点用,希望可以随手转发或者 ”在看“ ,拜谢列位老铁!
0
珍藏