第一部分:列表(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’) ##指定删除对象的名字 ##直接删除,不能将其赋值 ##不能指定序号,只能指定要删除对象的
- 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)