python中的列表

列表的定义

数组
存储同一种数据类型的集合 scores = [34,56,90,100…]
列表
列表(打了激素的数组):可以存储任意数据类型

list = [1,1.2,True,'westos']
print(list,type(list))

在这里插入图片描述

list2 = [1,1.2,True,'westos',[1,2,3,4]]   #列表里面也可以嵌套列表
print(list2,type(list2))

列表的特性

service = [‘http’,‘ftp’,‘ssh’]

索引
正向索引
print(service[0])    ##打印列表的第一个;打印http

在这里插入图片描述

反向索引
print(service[-1])    ##打印列表的最后一个;打印ssh

在这里插入图片描述

切片
print(service[::-1])  ##反转
print(service[1:])   ##除了列表第一个元素以外的
print(service[:-1])  ##除了最后一个元素

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

重复
print(service * 3)

在这里插入图片描述

连接
service1 = ['mysql','firewalld']
print(service + service1)    ##将service和service1两个列表连接起来

在这里插入图片描述

成员操作符
print('firewalld' in service)   ##返回False
print('ftp' not in service1)    ##返回False

列表的练习

假定有下面这样的列表:
names = [‘fentiao’, ‘fendai’, ‘fensi’, ‘apple’]
输出结果为:‘I have fentiao, fendai, fensi and apple.’

题目:输入某年某月某日(yyyy-MM-dd),
判断这一天是这一年的第几天?

列表元素的增加

service = [‘http’,‘ftp’,‘ssh’]

append():追加一个元素到列
service.append('firewalld')    
print(service)

在这里插入图片描述

extend():拉伸 追加多个元素到列表
service.extend(['mysql','nfs'])
print(service)
insert():在指定索引处插入元素
service.insert(1,'https')
print(service)

在这里插入图片描述

pop():弹出列表元素
service = ['http','ftp','ssh'] ##列表中原先的元素
 service.pop()   ##弹出列表的元素(从最后一个开始弹出)
 'ssh'  ##执行上述命令会把最后一个元素ssh弹出
 service   ##此时查看列表元素:只有http和ftp

在这里插入图片描述

remove():删除列表元素
service = ['http','ftp','ssh']
service.remove('ftp')
print(service)

在这里插入图片描述

a = service,remove('ftp')   ##将命令执行结果赋值给a
print(a)  ##不存在

在这里插入图片描述

从内存种删除一个元素
del service[1]
print(service)

在这里插入图片描述
列表元素的查看
service = [‘ftp’,‘http’,‘ssh’,‘http’,‘ftp’,‘mysql’]

print(service.count('ftp))    ##查看元素在列表中出现的次数
print(service.index('ssh'))  ##索引元素所在位置,默认返回最小的位置值
print(service.index('ssh',4,7))     ##索引指定范围

默认是按照ASCII码进行排序的

service = service.sort() ##将service列表中的元素从小到大进行排序
service = service.sort(reverse=True)    ##将service列表中的元素从大到小进行排序

列表元素的无序排列

random.shuffle(li)   ##将生成的li列表进行无序排列
--------------------------------------------------------------
li = list(range(0,101))
print(li)
random.shuffle(li)
print(li)
-------------------------------------------------------------
a = random.shuffle(li)
print(a)     ##返回值是None,不是所有随机生成的数值都可以进行赋值

通过索引赋值【

service[0] = 'http'   ##通过索引,重新对第一个列表的第一个元素进行赋值

通过切片赋值

service[:2]   = ['samba','dns','firewalld']    ##将列表service的前两个元素赋值为samba...
列表的综合练习

有一个列表,其中包括 10 个元素, 例如这个列表是[1,2,3,4,5,6,7,8,9,0],
要求将列表中的每个元素一次向前移动一个位置, 第一个元素到列表的最后,然后输出这个列表。
最终样式是[2,3,4,5,6,7,8,9,0,1]

li = [1,2,3,4,5,6,7,8,9,0]
print(li)
li2 = li.pop(0)
print(li2)
li.append(li2)
print(li)

问题描述:按照下面的要求实现对列表的操作:
产生一个列表,其中有 40 个元素,每个元素是 50 到 100 的一个随机整数
如果这个列表中的数据代表着某个班级 40 人的分数,请计算成绩低于平均分的学生人数
对上面的列表元素从大到小排序并输出li.sort(reverse=True)

import random
score = []

# 循环40次
for count  in range(40):
    num = random.randint(50,100)
    score.append(num)

print('40人的分数为:',score)
sum_score = sum(score)
print(sum_score)
ave_num = sum_score/40
# 将小于平均成绩的成绩找出来 组成新的列表 并求列表的长度
less_ave = []
for i in score:
    if i < ave_num:
        less_ave.append(i)
long = len(less_ave)
print(long)
print('平均分数为:%.1f' %(ave_num))
print('有%d个学生低于平均分数:'%(long))

score.sort(reverse=True)
print('排序结果:',score)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值