python中的列表

我们引入一个新的概念:数据结构
数据结构是通过某种方式组织在一起的数据元素的集合,这些数据元素可以是数字或字符,甚至可以是其他数据结构,在python中,最基本的数据结构是序列,序列中的每个元素匾被分配一个序号——即元素的位置,也称为索引,第一个索引是0,第二个则是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)

这里写图片描述

三、列表的特性

1、索引

service = ['http', 'ssh', 'ftp']
print service[0]     #显示索引号为0的元素,也就是第一个元素
print service[-1]    #显示倒数第一个元素

这里写图片描述
2、切片

service = ['http', 'ssh', 'ftp']
print service[::-1]      # 列表的翻转
print service[1:]        # 除第一个元素外的其他元素
print service[:-1]       # 除最后一个元素之外的其他元素

这里写图片描述
3、重复

service = ['http', 'ssh', 'ftp']
print service * 3

这里写图片描述
4、连接

service = ['http', 'ssh', 'ftp']
service1 = ['mysql', 'firewalld']
print service + service1

这里写图片描述
5、成员操作符

service = ['http', 'ssh', 'ftp']
service1 = ['mysql', 'firewalld']
print 'firewalld' in service
print 'firewalld' in service1
print 'firewalld' not in service

这里写图片描述
6、for循环遍历

service = ['http', 'ssh', 'ftp']
print '显示服务'.center(30, '*')
for se in service:
    print se,

这里写图片描述
7、列表里嵌套列表
1)索引

service2 = [['http', 80], ['ssh', 22], ['ftp', 21]]
print service2[0][1]  # 显示80
print service2[-1][1]  # 显示21

这里写图片描述
2)切片

service2 = [['http', 80], ['ssh', 22], ['ftp', 21]]
print service2[:][1]#['ssh', 22]
print service2[:-1][0] #['http', 80]
print service2[0][:-1]#['http']

这里写图片描述

四、列表对象的操作

操作说明
list.append(x)将元素x添加至列表尾部
list.extend(L)将列表L中的所有元素添加至列表尾部
list.insert(index,x)在列表指定位置index处添加元素x
list.remove(x)在列表中删除首次出现的指定元素
list.pop([index])删除并返回列表对象指定位置的元素,默认为最后一个元素
list.clear()删除列表中所有元素,但保留列表对象,在python2中没有
list.index(x)返回值为x的首个元素的下标,若元素不存在则抛出异常
list.count(x)返回指定元素x在列表中的出现次数
list.reverse()对列表元素进行原地翻转
list.sort()对列表元素进行原地排序

1、列表的增加(直接相加、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

这里写图片描述

2、列表的删除(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

这里写图片描述

3、列表的修改
【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  

这里写图片描述

4、列表的查看

service = ['http', 'ssh', 'ftp', 'ftp']
# 查看列表中元素出现的次数
print service.count('ssh')  # 1
print service.count('ftp')  # 2
# 查看指定元素的索引值
print service.index('ssh')  # 从零开始数,ssh在第一个,所以打印出来是1

这里写图片描述

5、列表的排序
【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

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值