第二章 Python数据结构(一.列表)
关于责任,想分享《慢慢变富》中的一句话,“身居高位的人需要对方方面面负责”,有了承担对应的责任,才可以抬头挺胸的坐上对应的位置。
总目录简介
一 、列表(当前位置)
二、元组
三、字典
四、集合
五、字符串
六、序列篇总结
Python中,序列是最基本的数据结构,是一块用于存放多个值的连续空间,Python中内置了列表、元组、字典、集合5个常用的序列结构。
各种序列的命名要符合Python命名规则的标识符。
虽然可以将不同类型的数据放在同一个列表当中,但是通常情况下,为了增加程序的可读性,会在它们里面只放入同一种类型的数据。
一、列表(list)
存储内容:可以将整数、浮点数、字符串、列表、元组等任何数据类型放入到列表中。列表中的元素类型可以不同,因为他们之间没有任何联系。
特点:列表的元素是可修改,元素可重复,元素是有顺序的。
格式:[ ]包住,用‘,’间隔内部元素。
[num1,num2,num3,...,numn]
1.创建
mylist1 = [1,2,3,4]
mylist2 = ['one','two','three','four']
mylist3 = ['List',6.66,['a','b'],'中文']#为了保证程序的可读性,一般不会这样子做
print(mylist1)
print(mylist2)
print(mylist3)
1.2 创建空列表
mylist4 = [] #空列表
print(mylist4)
1.3 创建数值列表
在这里插入代码片
2.删除
使用del语句
mylist = ['铅笔','钢笔','油画棒'] #创建一个列表
del mylist #删除列表mylist
print(mylist) #打印时无输出
#
知识点插入:列表的索引
列表中每个元素都有自己对应的序号,代表元素在列表中的位置,这个位置就是列表的索引。
(1)使用索引号访问列表元素:
索引序号从0开始,0表示第一个元素,1表示第二个元素,以此类推。以mylist=[‘L’,‘I’,‘S’,‘T’]这个列表举例,列表索引图如下所示。
(2)负数索引:
列表也是有负数索引的,索引的序号从-1开始;-1是最后一个元素的索引号,-2是倒数第二个元素的索引号,以此类推。以mylist=[‘L’,‘I’,‘S’,‘T’]这个列表举例,列表索引图如下所示。
3.访问列表元素
3.1访问整个列表
mylist=['L','I','S','T']
print(mylist)
3.2访问特定位置的列表元素
通过列表的索引获取指定的元素
mylist=['L','I','S','T']
print(mylist[3])
4.遍历列表
遍历列表中所有的元素
4.1 直接使用for循环实现
mylist=['L','I','S','T']
for item in mylist:
print(item)
#mylist中的每一个元素都依次存放在item中
4.2同时输出索引值和对于元素值
使用for循环和enumerate()函数,可以同时输出索引值和元素内容的功能。
mylist=['L','I','S','T']
for index,item in enumerate(mylist):
print(index+1,item)
#mylist中的每一个元素都依次存放在item中
5.处理列表元素
5.1添加
使用append()方法在列表末尾追加单个元素
格式:
listName.append(新元素)
使用extend()在列表末尾追加一个新列表的内容
格式:
listName.extend(新元素)
insert()在列表指定索引位置插入一个新元素
格式:
listName.insert(索引,新元素)
方法示例如下:
mylist1 = [1,2,3]
mylist2 = [4,5]
mylist1.append(6)#在mylist1列表末尾追加单个元素
print(mylist1)
mylist1.extend(mylist2)#在mylist1列表末尾追加mylist2这个列表
print(mylist1)
mylist1.insert(3,66)#在mylist1列表中,索引号为3处添加元素‘66’
print(mylist1)
5.2修改
列表中元素的修改可以通过索引获取该元素,然后在为其重新赋值。
格式:listName[索引] = 新元素
示例如下
mylist=[1,2,3,4]
mylist[3] = 55
print(mylist)
5.3删除
使用del 方法删除列表中指定索引位置的数据
格式:
del listName[索引]
使用remove()移除列表中某个值的第一个匹配项
格式:
listName.remove(元素)
使用pop()移除列表中指定索引位置的元素后返回该元素的值
格式:
listName.pop(索引)
clear()清空列表中所有的元素
格式:
listName.clear()
示例如下
mylist = [1,2,3,4,3,4]
del mylist[1] #删除列表中指定索引位置的数据
print(mylist)
mylist.remove(3)#移除第一个为3的元素
print(mylist)
print(mylist.pop(-2)) # 移除索引号为-2的元素
print(mylist.pop()) #若无参数,则移除列表中最后一个元素
mylist.clear() #清空列表中所有的元素
6.列表的统计
使用count()返回列表中指定元素出现的次数
格式:
listName.count(元素)
使用index()返回列表中指定元素首次出现的索引
格式:
listName.index(元素)
使用len()返回列表长度数值
格式:
len(listName)
使用sum()返回列表中所有元素的和
格式:
sum(listName)
使用man()返回列表中最大的元素
格式:
max(listName)
使用min()返回列表中最小的元素
格式:
min(listName)
示例程序
mylist = [1,2,33,4,5,5,5,6,6,677]
print(mylist.count(5))
print(mylist.index(6))
print(len(mylist))
print(sum(mylist))
print(max(mylist))
print(min(mylist))
7.列表的排序
列表的sort()方法可以将列表中的元素进行排序
格式:
listName.sort(key = None,reverse = False)
说明:
listName:要进行排序的列表名
key:表示指定从每个元素中提取一个用于比较的键,一般使用默认值None.
reverse:可选参数,值为True时表示降序,值为False时表示升序,省略时默认为False。
mylist=[1,2,3,4,5,6,7,8,9]
mylist.sort()#reverse没有参数,默认为升序
print(mylist)
mylist.sort(reverse = True)#降序
print(mylist)