一、创建列表
"""
数组:存储同一数据类型的集合 score = [10,20,30]
列表:可以存储任意数据类型的集合
"""
1、列表创建
name=['tom','hello','westos','redhat']
print(name)
print(type(name))
结果:
['tom', 'hello', 'westos', 'redhat']
<class 'list'>
2、列表里可以存储不同的数据类型
li = [1,1.2,'hello',True]
print(li)
print(type(li))
结果:
[1, 1.2, 'hello', True]
<class 'list'>
#列表嵌套
list=[1,2,3,'hello',['Ture',2,43]]
print(list)
print(type(list))
结果:
[1, 2, 3, 'hello', ['Ture', 2, 43]]
<class 'list'>
二、数组的特性
1、索引
list=[1,2,3,[1,2,3,4]]
print(list[0])
print(list[2])
print(list[3][3])
print(list[-1])
结果:
1
3
4
[1, 2, 3, 4]
2、切片
list=[1,2,3,[1,2,3,4]]
print(list[1:]) #除了列表的第一个之后的都打印
print(list[:-1])#除了列表的最后一个之前的都打印
print(list[::-1])#将列表的元素倒叙打印
结果:
[2, 3, [1, 2, 3, 4]]
[1, 2, 3]
[[1, 2, 3, 4], 3, 2, 1]
3、重复
list=[1,2,3,[1,2,3,4]]
print(list*3)
结果:
[1, 2, 3, [1, 2, 3, 4], 1, 2, 3, [1, 2, 3, 4], 1, 2, 3, [1, 2, 3, 4]]
4、连接
list=[1,2,3,[1,2,3,4]]
list1=['python','westos']
print(list+list1)
结果:
[1, 2, 3, [1, 2, 3, 4], 'python', 'westos']
5、成员操作符
list=[1,2,3,[1,2,3,4]]
list1=['python','westos']
print('python' in list)
print('python' in list1)
结果:
False
True
6、迭代
list=[1,2,3,[1,2,3,4]]
print('显示所有服务'.center(50,'*'))
for i in list:
print(i)
结果:
**********************显示所有服务**********************
1
2
3
[1, 2, 3, 4]
7、列表里嵌套列表
list2=[['http',80],['ssh',22],['ftp',21]]
#索引
print(list2[0][1])
print(list2[-1][1])
#切片
print(list2[:][1])
print(list2[:-1][0])
print(list2[0][:-1])
结果:
80
21
['ssh', 22]
['http', 80]
['http']
三、列表的增加
#1.
print(service + ['firewalld'])
#2.append:追加 追加一个元素到列表中
service.append('firewalld')
print(service)
#3.extend:拉伸 追加多个元素到列表中
service.extend(['mysql','firewalld'])
print(service)
#4.insert:在指定索引位置插入元素
service.insert(1,'samba')
print(service)
四、列表的删除
1、删除列表中最后一个元素
service=['http','ssh','ftp','dns']
print(service.pop())
print(service)
2、删除指定元素
service=['http','ssh','ftp','dns']
service.remove('http')
print(service)
3、从内存中删除列表
service=['http','ssh','ftp','dns']
print(service)
del service
print(service)
五、列表的修改
1、通过索引重新赋值
service=['http','ssh','ftp','dns']
service[0]='westos'
print(service)
2、通过切片
service=['http','ssh','ftp','dns']
print(service[:2])
service[:2]=['samba','westos']
print(service)
六、列表的查看
1、查看列表中元素的次数
service=['http','ssh','ftp','dns','http']
print(service.count('ftp'))
print(service.count('http'))
2、查看指定元素的索引
service=['http','ssh','ftp','dns','http']
print(service.index('ftp'))
print(service.index('http'))
七、列表的排序
1、排序
import random
li = list(range(10))
print(li)
sort 与 sorted 区别:
sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。
list 的 sort 方法返回的是对已经存在的列表进行操作,无返回值,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。
#sorted保留原列表
li = [0,5,8,2,3,7,9]
a = sorted(li)
print(li)
print(a)
#sort
b = [5,2,3,1,7,9,8]
b.sort()
print(b)
2、打乱排序
import random
li = list(range(10))
print(li)
#讲原有的列表顺序打乱
random.shuffle(li)
print(li)