1. python中列表的定义
列表是Python中最基本的数据结构
列表中的每个元素都分配一个位置,一个元素对应一个位置
第一个索引是0,第二个索引是1,依此类推
数组:存储同一种数据类型的集合 scores = [34,56,90,100..]
列表(打了激素的数组):可以存储任意数据类型
- 1
- 2
- 3
- 4
- 5
- 1
- 2
- 3
- 4
- 5
2. python中列表的创建
列表里:可以同时储存不同的数据类型
list = [1,1.2,True,'daisy']#创建列表list
print(list,type(list))#打印列表及其类型
- 1
- 2
- 1
- 2
- 3
可以看到, 列表可以存储整型, 浮点型, 布尔型和字符型等不同类型
将这个列表打印出来,并且查看其类型,可以看到,这个list列表的类型为list
3. python中列表的嵌套
列表中还可以嵌套列表,如下图所示,可以看到,list2列表中嵌套了list1
列表中嵌套了另一个列表,其类型依然为list
3. python中列表的特性
3.1 索引
service = [‘http’,‘ftp’,‘ssh’]
正向索引
print(service[0]) #获取列表中的第一个元素
- 1
- 2
- 1
- 2
反向索引
print(service[-1]) #获取列表中的最后一个元素
- 1
- 2
- 1
- 2
3.2 切片
print(service[::-1]) #将列表元素反转
print(service[1:]) #获取列表中的除了第一个元素以外的其他元素
print(service[:-1]) #获取列表中的除了最后一个元素以外的其他元素
- 1
- 2
- 3
- 1
- 2
- 3
3.3 重复
print(service * 3) #将列表中的元素重复3次
- 1
- 1
3.4 连接
service1 = ['mysql','firewalld']
print(service + service1) #将service1列表连接到service之后
- 1
- 2
- 1
- 2
3.5 成员操作符
print('firewalld' in service) #查看service列表中是否有firewalld元素
print('ftp' not in service1) #查看service1列表中是否没有firewalld元素
- 1
- 2
- 1
- 2
可以看到, service元素中不存在firewalld元素
service1中不存在ftp元素
4. 列表小练习
假定有下面这样的列表:
names = ['fentiao', 'fendai', 'fensi', 'apple']
输出结果为:'I have fentiao, fendai, fensi and apple.'
- 1
- 2
- 3
- 1
- 2
- 3
names = ['fentiao', 'fendai', 'fensi', 'apple']
print('I have ' + ','.join(names[:-1]) + ' and ' + names[-1])
- 1
- 2
- 1
- 2
5. 列表综合练习
题目:输入某年某月某日(yyyy-MM-dd),
判断这一天是这一年的第几天?
- 1
- 2
- 1
- 2
cal = input('请输入日期 yyyy-MM-dd: ')
date = cal.split('-') #以-为分隔符拆分日期
# print(date)
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]
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)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17