Python之路第二篇:Python基础-列表
Posted 漫画
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python之路第二篇:Python基础-列表相关的知识,希望对你有一定的参考价值。
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#Author:Jam
#0、列表
‘‘‘
序列是最基本的数据结构,序列中的每个元素都分配一个数字,它的位置索引第一个是0,第二个是1,以此类推
列表是最常用的python数据类型,作为一个方括号内的逗号分隔值出现
列表的数据项不需要具有相同的类型
‘‘‘
#1、创建一个列表
list1 = [‘google‘,‘Runoob‘,1997,2000]
list2 = [1,2,3,4,5]
list3 = ["a","b","c","d","e"]
#print(list1,‘\n‘,list2,‘\n‘,list3) #3行一起打印,使用\n换行
print(‘‘‘
%s
%s
%s
‘‘‘%(list1,list2,list3)) #3行一起打印,使用‘‘‘ ‘‘‘符号
#输出结果:
‘‘‘
[‘google‘, ‘Runoob‘, 1997, 2000]
[1, 2, 3, 4, 5]
[‘a‘, ‘b‘, ‘c‘, ‘d‘, ‘e‘]
‘‘‘
#2、访问列表中的值
#和字符串一样,列表索引从0开始,可以进行截取、组合等。
list1 = [‘google‘,‘Runoob‘,1997,2000]
print("list1[0]:",list1[0]) # 使用下标来访问列表中的值
print("list1[1:4]",list1[1:4]) #列表可以使用方括号的形式截取字符
#输出结果:
‘‘‘
list1[0]: google
list1[1:4] [‘Runoob‘, 1997, 2000]
‘‘‘
#3、更新列表
#可以对列表的数据进行修改或更新,也可以使用append()方法来添加列表项:
list1 = [‘google‘,‘Runoob‘,1997,2000]
print("list列表的第三个元素为:",list1[2])
list1[2] = 2001
print("更新后的list列表的第三个元素为:",list1[2])
‘‘‘
list列表的第三个元素为: 1997
更新后的list列表的第三个元素为: 2001
‘‘‘
#4、删除列表元素
#可以使用del 来删除列表的元素
list1 = [‘google‘,‘Runoob‘,1997,2000]
print("list列表:",list1)
del list1[2]
print("删除list列表的第三个元素:",list1)
#输出结果:
‘‘‘
list列表: [‘google‘, ‘Runoob‘, 1997, 2000]
删除list列表的第三个元素: [‘google‘, ‘Runoob‘, 2000]
‘‘‘
#5、列表脚本操作符
#列表对+ 和 *操作符与字符串相似。+号用于组合列表,*号用于重复列表
‘‘‘如下所示:
Python 表达式 结果 描述
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 迭代
‘‘‘
#输出结果
‘‘‘以下在python交互器中练习:
>>> 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
‘‘‘
#6、列表截取
#列表的截取与字符串操作类型,如下所示:
L=[‘Google‘, ‘Runoob‘, ‘Taobao‘]
#操作:
‘‘‘
Python 表达式 结果 描述
L[2] ‘Taobao‘ 读取第三个元素
L[-2] ‘Runoob‘ 从右侧开始读取倒数第二个元素: count from the right
L[1:] [‘Runoob‘, ‘Taobao‘] 输出从第二个元素开始后的所有元素
‘‘‘
#练习输出:
‘‘‘
>>> L = [‘Google‘,‘Runoob‘,‘Taobao‘]
>>> L[2]
‘Taobao‘
>>> L[-2]
‘Runoob‘
>>> L[1:]
[‘Runoob‘, ‘Taobao‘]
>>>
‘‘‘
#7、列表拼接
‘‘‘
>>> squares = [1,4,9,16,25]
>>> squares + [36,49,64,81,100]
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
‘‘‘
#8、列表嵌套
#使用列表嵌套即在列表里面创建其它列表
‘‘‘
>>> a = [‘a‘,‘b‘,‘c‘]
>>> n = [1,2,3]
>>> x = [a,n]
>>> x
[[‘a‘, ‘b‘, ‘c‘], [1, 2, 3]]
>>> x[0]
[‘a‘, ‘b‘, ‘c‘]
>>> x[1]
[1, 2, 3]
>>> x[0][1]
‘b‘
>>> x[1][1]
2
‘‘‘
#9、python列表函数
‘‘‘
序号 函数
1 len(list)
列表元素个数
2 max(list)
返回列表元素最大值
3 min(list)
返回列表元素最小值
4 list(seq)
将元组转换为列表
‘‘‘
#9.1、len()方法
#描述:len()方法返回列表元素个数
#语法:len(list)
#参数:list是要计算元素个数的列表
#返回值:返回列表元素个数
#实例:
#以下这一段测试在pycharm里面没有输出,刚开始不知道是什么原因,发现代码在Python交互器里面正常的,后来发现再往上翻的代码中使用了
#list命名的变量,list在解释器里面是一个属于模块的东西,变量命名要尽量避开这些跟函数名、方法名重叠的名称。
list1 = [‘Google‘, ‘Runoob‘, ‘Taobao‘]print (len(list1))#输出:3list2=list(range(5)) # 创建一个 0-4 的列表print (len(list2))#输出:5print(list2)#输出:[0, 1, 2, 3, 4]#python交互器输出结果:‘‘‘>>> list1 = [‘Google‘, ‘Runoob‘, ‘Taobao‘]>>> print(len(list1))3>>> list2=list(range(5))>>> print(len(list2))# 创建一个 0-4 的列表5>>> print(list2)[0, 1, 2, 3, 4]‘‘‘#9.2、max()方法#描述:max()方法返回列表元素中的最大值#语法:max(list)#参数:list是要返回最大值的列表#返回值:返回列表元素中的最大值#实例:list1,list2 = [‘Google‘,‘Runoob‘,‘Taobao‘],[456,700,200]print("list1 最大元素值:",max(list1))print("list2 最大元素值:",max(list2))#输出结果:#list1最大元素值: Taobao#list2 最大元素值: 700#9.3、min()方法#描述:min()方法返回列表元素中的最小值#语法:min(list)#参数:list是要返回最小值的列表#返回值:返回列表元素中的最小值#实例:list1,list2 = [‘Google‘,‘Runoob‘,‘Taobao‘],[456,700,200]print("list1 最小元素值:",min(list1))print("list2 最小元素值:",min(list2))#输出结果:#list1最小元素值: Google#list2 最小元素值: 200#9.4、list()方法#描述:list()方法用于将元组转换为列表#注:元组与列表非常类似,区别在于元组的元素值不能修改,元组放在括号中,列表放在方括号中。#语法:list(seq)#参数:list是要转换为列表的元组#返回值:返回列表#实例:aTuple = (123,‘Google‘,‘Runoob‘,‘Taobao‘)list1 = list(aTuple)print(‘列表元素:‘,list1)#结果输出:#列表元素: [123, ‘Google‘, ‘Runoob‘, ‘Taobao‘]‘‘‘交互器练习:>>> aTuple = (123,‘Google‘,‘Runoob‘,‘Taobao‘)>>> list1 = list(aTuple)>>> print(‘列表元素:‘,list1)列表元素: [123, ‘Google‘, ‘Runoob‘, ‘Taobao‘]>>> type(list1)<class ‘list‘>>>> type(aTuple)<class ‘tuple‘>>>>‘‘‘str = "Hello World"list2 = list(str)print(‘列表元素:‘,list2)#结果输出:#列表元素: [‘H‘, ‘e‘, ‘l‘, ‘l‘, ‘o‘, ‘ ‘, ‘W‘, ‘o‘, ‘r‘, ‘l‘, ‘d‘]‘‘‘交互器练习:>>> str = "Hello World">>> list2 = list(str)>>> print(‘列表元素:‘,list2)列表元素: [‘H‘, ‘e‘, ‘l‘, ‘l‘, ‘o‘, ‘ ‘, ‘W‘, ‘o‘, ‘r‘, ‘l‘, ‘d‘]>>> type(str)<class ‘str‘>>>> type(list2)<class ‘list‘>>>>‘‘‘#10、python列表方法#10.1、list.append(obj)#描述:在列表末尾添加新的对象#语法:list.append(obj)#参数:obj--添加到列表末尾的对象#返回值:该方法无返回值,但是会修改原来的列表#实例:list1 = [‘Google‘,‘Runoob‘,‘Taobao‘]list1.append(‘Baidu‘)print("更新后的列表:",list1)#输出:#更新后的列表: [‘Google‘, ‘Runoob‘, ‘Taobao‘, ‘Baidu‘]#10.2、list.count(obj)#描述:count()方法用于统计某个元素在列表中出现的次数#语法:list.count(obj)#参数:obj--列表中统计的对象#返回值:返回元素在列表中出现的次数#实例:aList = [123,‘Google‘,‘Runoob‘,‘Taobao‘,123]print("123 元素的个数:",aList.count(123))print("Runoob 元素的个数:",aList.count(‘Runoob‘))#结果输出:#123 元素的个数: 2#Runoob 元素的个数: 1#10.3、list.extend(seq)#描述:extend() 函数用于在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)#语法:list.extend(seq)#参数:seq--元素列表#返回值:该方法没有返回值,但会在已经存在的列表中添加新的列表内容#实例:list1 = [‘Google‘,‘Runoob‘,‘Taobao‘]list2 = list(range(5))list1.extend(list2)print("扩展后的列表:",list1)#结果输出:#扩展后的列表: [‘Google‘, ‘Runoob‘, ‘Taobao‘, 0, 1, 2, 3, 4]#10.4、list.index(obj)#描述:index() 函数用于从列表中找出某个值第一个匹配的索引位置#语法:list.index(obj)#参数:obj--查找的对象#返回值:该方法返回查找对象的索引位置,如果没有找到对象则抛出异常#实例:list1 = [‘Google‘,‘Runoob‘,‘Taobao‘]print(‘Runoob 索引值为:‘,list1.index(‘Runoob‘))print(‘Taobao 索引值为:‘,list1.index(‘Taobao‘))#结果输出:#Runoob 索引值为: 1#Taobao 索引值为: 2#10.5、list.insert()#描述:insert()函数用于将指定对象插入列表的指定位置#语法:list.insert(index,obj)#参数:#index--对象obj需要插入的索引位置# obj--要插入列表的对象#返回值:该方法没有返回值,但会在列表指定位置插入对象#实例:list1 = [‘Google‘,‘Runoob‘,‘Taobao‘]list1.insert(1,‘Baidu‘)print("列表插入元素后为:",list1)#结果输出:#列表插入元素后为: [‘Google‘, ‘Baidu‘, ‘Runoob‘, ‘Taobao‘]#10.6、list.pop()#描述:pop()函数用于移除列表中的一个元素(默认是最后一个元素),并且返回该元素的值#语法:list.pop(obj=list[-1])#参数:# obj--可选参数,要移除列表元素的对象#返回值:该方法返回从列表中移除的元素对象#实例:list1 = [‘Google‘,‘Runoob‘,‘Taobao‘]list1.pop()print(‘列表现在为:‘,list1)list1.pop(1)print(‘列表现在为:‘,list1)#结果输出:#列表现在为: [‘Google‘, ‘Runoob‘]#列表现在为: [‘Google‘]#10.7、list.remove()#描述:remove()函数用于移除列表中某个值的第一个匹配项#语法:list.remove(obj)#参数:# obj--列表中要移除的对象#返回值:该方法没有返回值,但是会移除列表中某个值的第一个匹配项。#实例:list1 = [‘Google‘,‘Runoob‘,‘Taobao‘,‘Baidu‘]list1.remove(‘Taobao‘)print("列表现在为:",list1)list1.remove(‘Baidu‘)print("列表现在为:",list1)#结果输出:#列表现在为: [‘Google‘, ‘Runoob‘, ‘Baidu‘]#列表现在为: [‘Google‘, ‘Runoob‘]#10.8、list.reverse()#描述:reverse()用于反向列表中的元素#语法:list.reverse()#参数:#N/A=Not Available(不必要的)#返回值:该方法没有返回值,但是会对列表的元素进行反向排序#实例:list1 = [‘Google‘,‘Runoob‘,‘Taobao‘,‘Baidu‘]list1.reverse()print("列表反转以后:",list1)#结果输出:#列表反转以后: [‘Baidu‘, ‘Taobao‘, ‘Runoob‘, ‘Google‘]#10.9、list.sort([])#描述:sort()函数用于对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数。#语法:list.sort([func])#参数:#fune--可选参数,如果指定了该参数会使用该参数的方法进行排序#返回值:该方法没有返回值,但是会对列表的对象进行排序#实例:list1 = [‘Google‘,‘Runoob‘,‘Taobao‘,‘Baidu‘]list1.sort()print("列表排序后:",list1)#结果输出:#列表排序后: [‘Baidu‘, ‘Google‘, ‘Runoob‘, ‘Taobao‘]#10.10、list.clear()#描述:clear()函数用于清空列表,类似于del a[:]#语法:list.clear()#参数:无#返回值:该方法没有返回值#实例:list1 = [‘Google‘,‘Runoob‘,‘Taobao‘,‘Baidu‘]list1.clear()print("列表清空后:",list1)#结果输出:#列表清空后: []#10.11、list.copy()#描述:copy()用于复制列表,类似于a[:]#语法:list.copy()#参数:无#返回值:返回复制后的新列表#实例:list1 = [‘Google‘,‘Runoob‘,‘Taobao‘,‘Baidu‘]list2 = list1.copy()print("list2列表:",list2)list3 = list1[:]print("list3列表:",list3)#结果输出:#list2列表: [‘Google‘, ‘Runoob‘, ‘Taobao‘, ‘Baidu‘]#list3列表: [‘Google‘, ‘Runoob‘, ‘Taobao‘, ‘Baidu‘]
以上是关于Python之路第二篇:Python基础-列表的主要内容,如果未能解决你的问题,请参考以下文章