列表(list)

第一部分:列表(list):
列表(list)用来存储不同的数据类型,使用 [ ]

定义一个列表
show = [‘http’,‘ssh’,‘ftp’,‘service’] #方括号

一、列表的特性:
1.索引:

print(show[1]) ##输出第二个元素,ssh
print(show[-1]) ##输出最后一个元素,ftp

2.切片:

print(show[1:]) ##打印第一个元素之后的内容
print(show[:-1]) ##打印最后一个元素之前的内容
print(show[::-1]) ##倒序输出

3.重复输出:

print(show * 3) ##输出三遍

4.连接:

service1 = [‘nfs’,‘samba’]
print(show + service1)

5.for循环遍历

for i in show:
print(i) ##遍历输出每个元素

6.列表里嵌套列表

service2 = [[‘abc’,‘def’,‘www’],[1,2,3],[‘mike’,‘tony’,‘sun’]]

对其索引:print(service2[2][1]) ##第三个元素中的第二个元素
对其切片:print(service2[:][1]) ##第二个元素

对以上内容进行一个练习:
题目:输入一年中的某一天,判断这一天是这一年的第几天:【输入格式:YYYY-MM-DD】

User_input = input(‘输入:年-月-日’)
Year = int(User_input.split(’-’)[0]) ##得到年份
Month = int(User_input.split(’-’)[1]) ##得到月份
Day = int(User_input.split(’-’)[2]) ##得到天

li = [31,28,31,30,31,30,31,31,30,31,30,31]   ##所有平年各个月份的天数
num = 0    ##记录天数
if ((Year % 4 == 0) and (Year % 100 != 0) or (Year % 400 == 0)):    ##当闰年时:
    li[1] = 29   ##将二月的天数改为29
for i in range(12):  ##遍历月份
	if Month > i + 1:   ##i从0开始,假如是5月的某一天,i循环到3停止,经过0-1-2-3四次循环,取4个月份即取1-2-3-4月的所有天
		num += li[i]   ##将1-4月总天数求和
	else:            ##退出if判断后,当下一次循环时,i=4,i+1不满足if的条件,进入else,将最后5月的第几天加入总天数中
		num += Day
		break
print('这一天是%d年的第%d天' %(Year,num))

二、列表的增删改查:
1.往列表里增加元素:

1.print(show + [‘firewalld’]) ##用连接的方式

2.show.append(‘firewalld’) print(show) ##append:追加一个元素到列表中

3.extend:拉伸 追加多个元素到列表中 show.extend([‘mysql’,‘firewalld’])

4.show.insert(1,‘samba’) ###在指定索引位置插入元素 ##在第二个元素的位置插入samba作为第二个元素

2.删除列表中的元素:

1.show.pop() ##弹出最后一个元素
a = show.pop(0) ##弹出第1个元素 ###可以将其赋值

2.show.remove(‘ssh’) ##指定删除对象的名字 ##直接删除,不能将其赋值 ##不能指定序号,只能指定要删除对象的

  1. del show ##删除列表

del show ##直接删除整个列表
print(show)

3.赋值:

1.show[0] = ‘mysql’ ##通过索引 重新赋值
2.show[:2] = [‘samba’,‘iscsi’] ##通过切片给前两个元素重新赋值

4.查看:
查看出现的次数

show.count(‘ssh’)

查看指定元素的索引值

show.index(‘iscsi’) ###最小索引值
show.index(‘ssh’,1,3) ###从1-3中查找【第二个元素和第三个元素之间】【不取上限】

5.排序:
sort 排序
对字符串排序不区分大小写

names = [‘alice’,‘Bob’,‘coco’,‘Harry’]
names.sort()
names ###按照ASCLL排序 ###先排序首字母为大写的,再排序首字母是小写的

names.sort(key=str.lower) ###对字符串排序不区分大小写,相当于将所有元素转换为小写,再排序
names.sort(key=str.upper) ###相当于将所有元素转换为大写,再排序

乱序

li = list(range(10)) ##生成0-9,将其转换为列表形式
print(li)
import random
random.shuffle(li) ##随机打乱
print(li)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值