一、列表的基本概念
1、列表里可以存储不同的数据类型
li = [1,1.5,'hello',True]
2、列表里也可以嵌套(列表也是一种数据类型)
li = [1,1.5,'hello',True,[1,2,3,4,5]]
二、列表的属性
service = [‘http’,‘ssh’,‘ftp’]
1、索引
print(service[0]) 打印列表中的第一个元素
print(service[1]) 打印列表中的第二个元素
2、切片
print(service[1:]) 打印从第二个元素开始的所有元素
print(service[:-1]) 打印从第一个个元素到倒数第二个元素
print(service[::-1]) 逆序输出
3、重复
print(service * 3) 将service列表打印三次
4、连接
service1 = [‘https’,‘smb’]
print(service1 + service2)
5、成员操作符
print("nfs" in service) 若nfs在service列表中,则为True,否则为False
6、循环遍历
for i in service:
print(i) 将列表中的元素循环打印
7、列表中嵌套列表
service2 = [[‘http’,‘80’],[‘ssh’,‘22’],[‘ftp’,‘21’]]
print(service2[0][1]) 打印80
print(service2[:][1]) 打印['ssh','22']
print(service2[1][:]) 打印['ssh','22']
print(service2[:-1][0]) 先切片,再打印切片后的第一个元素
8、列表元素的增加
service.append('firewall') 追加一个元素到列表里
service.extend(['mysql','firewall']) 追加多个元素到列表中,被追加的多个元素只能是在列表中
service.insert(1,'samba') 向指定索引位置插入元素
9、删除元素的删除
service.remove('ssh') 删除列表中的'ssh',如果ssh存在,返回值为None,否则报错
del service[0] 删除第一个元素
del service 删除列表
del + 变量 删除变量
10、列表的修改
service[0] = 'mysql' 通过索引重新赋值
service[:2]=['123','456'] 通过切片赋值
11、列表中元素的查看
print(service.count('ssh')) 统计列表中的ssh的个数
print(service.index('ssh')) 打印ssh的索引值
print(service.index('ssh',n)) 从第n位开始统计ssh的索引,如果有重复的话元素
12、打乱列表的顺序
import random
random.shuffle(service) 打乱列表的顺序
13、内置方法
min(m,n) 多个数求最小值
max(m,n) 多个数求最大值
sum(range(101)) 求和
#枚举:返回索引值和对应的value值
for i,v in enumerate('westos'/['w','e','s','t','o','s'])
print(i,v)
结果:
1 w
2 e
3 s
4 t
5 o
6 s
#zip 的使用
s1 = ’abc‘/['a','b','c']
s2 = '456'/[4,5,6]
for i in zip(s1,s2):
print(i)
结果:
('a', '4')
('b', '5')
('c', '6')
14、列表生成式
[i**i for i in range(1,10) if i % 2 == 0 ] 结果:[4, 256, 46656, 16777216]
找出1——10之间所有偶数,并且返回一个列表(包含以这个偶数为半径的圆的面积)
import math
print(math.pi)
print([math.pi * r * r for r in range(2,11,2)])
#找出1~n之间所有的质数
def isPrime(num):
for i in range(2,num):
if num % i == 0:
return False
else:
return True
print([i for i in range(2,101) if isPrime(i)])
#列表生成是变形
li = [
[1,2,3],
[4,5,6],
[7,8,9]
]
print([item2 for item1 in li for item2 in item1])
结果:[1, 2, 3, 4, 5, 6, 7, 8, 9]