学习Python之路之Python中常见的数据结构一——列表
程序员文章站
2024-03-19 18:35:22
...
列表(List)是Python语言中最通用的序列数据结构之一。列表是一个没有固定长度的,用来表示任意类型对象的位置相关的有序集合。列表的数据项不需要具有相同的类型,常用的列表操作主要包括:索引、连接、乘法和切片等。列表中的每个元素都分配一个数字——他的位置(索引),第一个索引是0,第二个索引是1,以此类推
一、列表的基本操作
1.创建列表
什么是数组?数组就是存储同一数据类型的集合 scores=[12,23,41]
列表:(就是打了激素的数组)可以存储任意数据类型的集合
列表里也可以存储不同的数据类型,列表里也可以嵌套列表
例如:
li = [1, 1.2, 'hello']
print li
print type(li)
li = [1,1.2,True,'hello',[1,2,3,4,5]]
print li
print type(li)
二、列表的特性(索引、切片、重复、连接、成员操作符、for循环遍历)
1、索引
示例【1】:
service = ['http', 'ssh', 'ftp']
print service[0] #显示索引号为0的元素,也就是第一个元素
print service[-1] #显示倒数第一个元素
2、切片
示例【2】:
service = ['http', 'ssh', 'ftp']
print service[::-1] # 列表的翻转
print service[1:] # 除第一个元素外的其他元素
print service[:-1] # 除最后一个元素之外的其他元素
3、重复
示例【3】:
service = ['http', 'ssh', 'ftp']
print service * 3
4、连接
示例【4】:
service = ['http', 'ssh', 'ftp']
service1 = ['mysql', 'firewalld']
print service + service1
5、成员操作符
示例【5】:
service = ['http', 'ssh', 'ftp']
service1 = ['mysql', 'firewalld']
print 'firewalld' in service
print 'firewalld' in service1
print 'firewalld' not in service
6、for循环遍历
示例【6】:
service = ['http', 'ssh', 'ftp']
print '显示服务'.center(30, '*')
for se in service:
print se,
7、列表里嵌套列表
1)索引
示例【7】:
service2 = [['http', 80], ['ssh', 22], ['ftp', 21]]
print service2[0][1] # 显示80
print service2[-1][1] # 显示21
2)切片
示例【8】:
service2 = [['http', 80], ['ssh', 22], ['ftp', 21]]
print service2[:][1]#['ssh', 22]
print service2[:-1][0] #['http', 80]
print service2[0][:-1]#['http']
三、列表的增加(直接相加、append、extend)
示例【1】:
service = ['http', 'ssh', 'ftp']
print service + ['firewalld']
示例【2】:
append:追加,追加一个元素到列表中,默认在最后
service = ['http', 'ssh', 'ftp']
print service
service.append('firewalld')
print service
示例【3】:
extend:拉伸,追加多个元素到列表中
service = ['http', 'ssh', 'ftp']
service.extend(['mysql', 'firewlld'])
print service
四、列表的删除(pop,remove,del)
示例【1】:
如果pop()不传递值的时候,默认弹出最后一个元素,同时,pop()也可以传递索引值
service = ['http', 'ssh', 'ftp']
print service.pop() #当pop()里面没有值的时候,默认弹出最后一个元素
print service.pop(0) #pop()也可以传递索引值
示例【2】:
remove:删除指定的元素
service = ['http', 'ssh', 'ftp']
service.remove('ssh')
print service
示例【3】:
del:del是个关键字,是从内存中删除列表,一般慎用!!!
service = ['http', 'ssh', 'ftp']
print service
del service
print service
五、列表的修改
修改的两种方法:
-
通过索引,重新赋值
-
通过切片
示例【1】:
service = ['http', 'ssh', 'ftp']
service[0] = 'mysql'
print service
示例【2】:
service = ['http', 'ssh', 'ftp']
print service
print service[:2] #显示前两个元素
service[:2] = ['samba', 'lftp'] #给前两个元素重新赋值
print service
六、列表的查看
示例:
service = ['http', 'ssh', 'ftp', 'ftp']
# 查看列表中元素出现的次数
print service.count('ssh') # 1
print service.count('ftp') # 2
# 查看指定元素的索引值
print service.index('ssh') # 从零开始数,ssh在第一个,所以打印出来是1
七、列表的排序
示例【1】:
按照ASCII码排序
service = ['http', 'ssh', 'ftp', 'ftp']
service.sort()
print service
service.sort(reverse=True) # 逆序输出
print service
示例【2】:
不区分大小写排序
phone = ['bob', 'harry', 'Lily', 'Alice']
phone.sort()
print phone
phone.sort(key=str.lower) #将列表中的大写转换成小写,按照英文字母排序
print phone
phone.sort(key=str.upper) #将列表中小写转换成大写,按照英文字母排序
print phone