发自心底的热爱,并用你的注意力填满1000个小时就能练成任何你所需要的技能。注意力就是个人能支配且最大的资产,注意力放在哪里,产出就在哪里。
1、引言
在上一节当中给大家介绍了Python语言中常见的运算符,相信你已经掌握了它们的基本的操作。作为一个热爱编程的你我来说,前进的脚步怎能就止步于此呢?Python的乐趣还有很多,许多的奥秘待你我一起去探索。来吧,一起做个狠人,每天搞它一点。
在本篇文章中,我会对Python语言列表的一些基本技术和要点进行解释和说明,这样可以让你更容易掌握Python语言编程。
2、列表的具体操作
首先,我们先来讨论一下如何创建列表list,它的结构定义如下:
列表名称=[元素1,元素2,....]
示例1:menu=['炒饭:10元','青椒炒肉:12元']
从定义中可以知道,等号左边是列表的名称,等号右边是中括号[],中括号中存放的是列表的元素,元素的类型可以是字符串、数值,布尔或对象等。
如创建一个叫menu的列表,列表中有两个元素,第一个元素是“炒饭:10元”,第二个元素是“青椒炒肉:12元”。
用图示来来看更加直观,一个空的列表list1=[]
此时list1的长度为0,而在Python中可以使用内置的函数len()来读取list1的长度,具体实现代码如下:
>>> list1 = [] #定义空列表
>>> len(list1) # 内置函数
0 #结果为0
图示列表menu和代码如下:
>>> menu = ['炒饭:10元','青椒炒肉:12元']
>>> print(menu)
['炒饭:10元', '青椒炒肉:12元']
>>> len(menu) #列表menu的长度
2
>>> menu.index('炒饭:10元') #第一个元素所在索引
0
>>> menu.index('青椒炒肉:12元')
1
对于上面的这个图示和代码:
- 首先创建一个存储有两个元素的列表menu,menu的容量和长度都是2
- 然后列表menu中的第一个元素存储的序号是0,第二个元素存储的序号是1;这里的序号在编程语言中叫做索引
2.1、列表切片(slice)
我们再来看个列子:
>>> list =[2,33.3,'a',False,'2d',True]
>>> list[:1]
[2]
>>> list[0:2]
[2, 33.3]
>>> list[2:]
['a', False, '2d', True]
>>> list[:-1]
[2, 33.3, 'a', False, '2d']
>>> list[:]
[2, 33.3, 'a', False, '2d', True]
对于上面的代码中,列表存储有6个元素,有整数、浮点数、字符串和布尔。具体的解释如下:
- list[:1]中:,在Python语言中,叫做列表切片。当前代码表示获取列表从索引0开始到索引1,但是不包括索引1处的元素,等价于list[0:1]
- list[0:2],表示获取列表从索引0开始到索引2,但不包含索引2的元素
- list[2:],表示获取列表从索引2开始到最后一个索引的元素,等价于list[2:len(list)-1]
- list[:-1],表示获取列表从索引0开始到倒数第一个索引的所有元素,如果是倒数第二个,把-1改为-2即可
- list[:],表示获取列表中所有的元素,等价于list[0,len(list)-1]
2.2、列表的基本方法
我们一起看个例子:
>>> list =[2,33.3,'a',False,'2d',True]
>>> list.append('hello world!hello python')
>>> list
[2, 33.3, 'a', False, '2d', True, 'hello world!hello python']
>>> list.insert(0,'hello java')
>>> list
['hello java', 2, 33.3, 'a', False, '2d', True, 'hello world!hello python']
>>> item1 = list.remove('2d')
>>> item1
>>> list
['hello java', 2, 33.3, 'a', False, True, 'hello world!hello python']
>>> list.pop()
'hello world!hello python'
>>> list
['hello java', 2, 33.3, 'a', False, True]
>>> list.count('a')
1
>>> list
['hello java', 2, 33.3, 'a', False, True, 'a']
>>> list.count('a')
2
>>> list.clear()
>>> list
[]
对例子代码的解释:
- list.append('hello world!hello python'),表示向现有列表list中的末尾添加元素
- list.insert(0,'hello java'),表示将列表的元素统一往后移动,然后再将新元素插入到列表索引为0的位置
- item1 = list.remove('2d'),表示将列表的元素2d删除,该删除不返回对应的元素
- list.pop(),表将列表的最后一个元素删除,并返回对应的元素
- list.count('a'),表示列表中元素‘a’有多少个
- list.clear(),表示清空列表中所有的元素
3、列表的高级操作
3.1、列表推导式
在Python语言中,列表推导式是一种简洁而且高效的方式来创建列表,具体的语法如下:
new_list = [表达式 for 变量 in 可迭代对象 if 条件]
对语法的解释:
- 表达式:主要是用来对变量的处理,决定列表元素的值
- for变量 in 可迭代对象:遍历一个可迭代对象
- if 条件(可选): 只有满足条件的元素才会被添加到新列表中
我们一起来看个例子:
>>> numbers = [i for i in range(10)]
>>> print(numbers)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> numbers = [i for i in range(10) if i%2]
>>> print(numbers)
[1, 3, 5, 7, 9]
对例子解释:
- range(10),是一个内置函数,表示生成从0到10,但不包含10的元素的
- 生成一个0到9的列表
3.2、内置函数
我们再一起看例子:
>>> list
[23, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> len(list)
11
>>> sum(list)
68
>>> min(list)
0
>>> max(list)
23
- len():获取列表的长度。
- sum():计算列表元素的和。
- min()、max():查找最小值与最大值。
- sorted():排序列表。
3.3、列表的反转与排序
>>> sorted(list)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 23]
>>> list.reverse()
>>> list
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0, 23]
>>> list.sort()
>>> list
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 23]
>>> sorted(list)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 23]
- 使用 reverse() 和 sort() 修改原列表。
- 使用 sorted() 获取新排序后的列表。
4、总结
Python语言是一门高级语言,但是掌握这些基础的能力,有助于提升自己的编程水平。
我写完了,如果对你有触发,有钱途,请帮忙点赞+转发+收藏,谢谢!