列表
列表可以存储任意数据类型
(1)列表的创建
1>
list = [1,1.2,3,True,'wanghaha'] ##创建列表
print(list,type(list)) ##type表示显示输出类型
2> 列表中还可以嵌套列表
list2 = [1,2,3[1,1.2,3,True,'wanghaha']]
print(list2,type(list2))
(2)列表的特性
1>索引
service = ['http','ftp','ssh']
print(service[0]) ##正向索引
print(service[-1]) ##反向索引
2>切片
service = ['http','ftp','ssh']
print(service[::-1]) ##列表的翻转
print(service[1:]) ##除了第一个元素之外的其他元素
print(service[:-1]) ##除了最后一个之外的其他元素
3> 重复
service = ['http','ftp','ssh']
print(service * 3) ##重复三次
4>连接
service = ['http','ftp','ssh']
service1 =['mysql','firewalld']
print(service + service1)
5>成员操作符
service = ['http','ftp','ssh']
print('firewalld' in service) ##成立为True,不成立为False
print('ftp' in service)
print('mysql' not in service)
6>for 循环遍历
print('服务显示'.center(50,'*'))
for s in service:
print(s,end='') ##不换行输出
##在python2.x版本中,print 'hello', 表示不换行输出,即加','逗号表示
(3) 列表元素的增加
append() ##追加 追加一个元素到列表中
extend() ##拉伸 追加多个元素到列表中
insert() ##在指定索引位置插入数据
(4)列表元素的删除
service.pop() ##列表中移除字符串,默认从最后开始
service.pop(0) ##从列表中删除指定索引位置的字符串
service.remove('ssh') ##彻底删除指定的字符串
del service[1] ##删除列表中指定的数据
(5)列表元素的查看
service.count('http') ##查找在列表中出现的次数
service.index('http') ##查找指定字符串并返回索引值
service.index('http',1,2) ##指定查找范围查找,并返回最小索引值
(6)排序
phones = ['tom','http','Top','ftp','http']
phones.sort() ##排序,默认是按ascii码
print(phones)
phones.sort(key=str.lower) ##不区分大小写
phones.sort(key=str.upper) ##不区分大小写
print(phones)
li = list(range(10)) ##按顺序列出
random.shuffle(li) ##乱序列出,需要先导入一个内置函数
(7)修改
service[0] = 'samba' ##通过索引值,重新赋值,进行修改
service[:2] = ['mysql','nginx'] ##通过切片赋值进行修改
例1:假定有下面这样的列表:
names = [‘fentiao’, ‘fendai’, ‘fensi’, ‘apple’]
输出结果为:‘I have fentiao, fendai, fensi and apple.’
例子2: 输入某年某月某日(yyyy-MM-dd),判断这一天是这一年的第几天?
cal = input('请输入日期-yyyy-MM-dd:')
date = cal.split('-') ##拆分日期
year = int(date[0])
month = int(date[1])
day = int(date[2])
arr = [0,31,28,31,30,31,30,31,31,30,31,30,31] ##因为索引值是从0开始,所以此处第一位补0,为了索引值和月份数值对应
num = 0
if ((year % 4 ==0) and (year %100 !=0) or (year % 400 ==0)): ##先判断平年还是闰年
arr[2] = 29
for i in range(1,len(arr)):
if month > i:
num += arr[i]
else:
num += day
break
print('天数是:',num)
例子3:输入三个整数x,y,z,请把这三个数由小到大输出
arr_str = input('请输入三个数字: \n')
arr = arr_str.split()
for i in range(len(arr)):
arr[i]= int (arr[i])
arr.sort()
print('输入的结果是: \n'+ str(arr))