Python学习第二天之列表

柳三千

文章最后更新时间:2023年04月03日已超过606天没有更新。

列表相当于其他语言的数组,变量只能储存一个元素,列表可以储存多个且不同类型的数据

列表创建

方括号创建

name_list=[]
list2=['张三','李四',9527,'baidu.com',66]
print(list2)


使用list()函数

list3=list(['王五','赵六',999])
print (list3)


查询列表元素

打印某元素的索引

list3=list(['王五','赵六',999])
print(list3.index('赵六'))


打印某一个元素

list3=list(['王五','赵六',999])
print(list3[1])
print(list3[2])
print(list3[-1])


获取多个元素

list=[10,20,30,40,50,60,70,80,90,100]
print(list[1:7])
print(list[1:6:2])


列表切片

list=[10,20,30,40,50,60,70,80,90,100]

list6=list[1:6]
print(list6)

print(id(list))
print(id(list6))


添加列表元素

#append末尾追加元素
list=[10,20,30,40,50,60,70,80,90,100]
print(list)
list.append('我是新来的,append介绍进来的!')
print(list)

# 列表名 +=
list=[10,20,30,40,50,60,70,80,90,100]
print(list)
list += ['又一位新成员']
print(list)

#insert()我要插队
list=[10,20,30,40,50,60,70,80,90,100]
print(list)
list.insert(1,'我要插在第二位,有问题?')
print(list)

list.insert(0,'无所谓,反正我第一个!')
print(list)


修改列表的值

list=[10,20,30,40,50,60,70,80,90,100]
list[0]= '刘霸天'
print(list)

#切片赋值(刘霸天上位)
list[1:5]=['刘家军','刘家军','刘家军','刘家军','刘家军']
print(list)


删除列表元素

#del
list=[10,20,20,30,30,40,50,60,70,80,90,100]
del list[0]
print(list)

#pop通过索引删除元素,没有索引参数默认删除最后一个
list=[10,20,20,30,30,40,50,60,70,80,90,100]

list.pop(1)
print (list)

list.pop()
print (list)


#remove 根据元素值删除
list=[10,20,'刘霸天',20,30,30,40,50,60,70,80,90,100]
list.remove('刘霸天')
print (list)

list.remove(10)
print(list)

#clear清空所有元素
list=[10,20,'刘霸天',20,30,30,40,50,60,70,80,90,100]
list.clear()
print (list)


列表是否包含这个元素

list=[10,20,65,200,80,60,2000,80200,100]
list2=[12,22,32,52,62]
# #判断元素是否在列表里(in 或者 not in)
print ('--------------in--------------')
num=22
print (num in list)
print(num in list2)

print ('--------------not in--------------')
print (99 not in list2)
print( 20 not in list)


列表排序

list=[10,20,65,200,80,60,2000,80200,100]
list.reverse()  #两极反转
print(list)
#列表排序 sorted()
#Python函数sorted()可以处理列表的排序,要特别注意的是这个函数返回的是一个新的列表,而非在原来的列表中进行修改!
#sorted()不仅可以处理列表,还可以处理字符串等其它数据类型
list = ['刘备','Tom','张飞','关羽']
print(list)

print (sorted(list))

#输出的是原列表
print(list)

#两个ID内存的值不一样了,说明sorted()是生成新的对象
print(id(list))
print(id(sorted(list)))
#列表排序 sort()方法这个是对原列表进行操作,依然是列表可变的特性
list2=[2200,100,300,500]
list2.sort()
print (list2)

#reverse设置排序的方法,默认为False表示从小到大排序
list2.sort(reverse=True)
print (list2)


列表生成式

#顾名思义就是生成列表的公式
#怎么从一组包含网络设备的列表中,找到思科的设备
dev = ['Cisco_Nexus7010', 'Huawei_S7706', 'Huawei_CE12808', 'Cisco_C9300']
for cisco_dev in dev:
    if 'Cisco' in cisco_dev:
        print(cisco_dev)

#以上案例就可以使用列表生成式了
cisco_dev = [x for x in dev if 'Cisco' in x ]
print (cisco_dev)


join拼接字符串

ip=['192.168.100.123','172,16.100.256']
print(ip)
#返回值['192.168.100.123', '172,16.100.256']

print(','.join(ip))#将 ip 这个列表的元素拼接成字符串,元素中间加插逗号隔开。
#返回值192.168.100.123,172,16.100.256


列表嵌套

#接触过其它编程语言的同学们可能会知道二维数组等概念,在Python中我们可以用列表嵌套来实现
interfaces = [ ['Vlanif1 ', '192.168.11.11/24', 'up','up'],['Vlanif10', '10.18.123.5/25 ', 'down','down'],['Vlanif12','12.1.1.3/29','*down','down'] ]
print(interfaces[0][1])

#列表中还有列表,这就是列表的“嵌套”
#迭代
[1,2,3,4] # 从左到右,逐个提取,这过程叫“迭代”。这个对象叫“可迭代对象”。

#递归 一层一层钻进去(比如通过多层索引信息找到1这个数字),然后再逐层回归到上面来,这个过程就“递归”。
list=[[[1, 2, 3], [4, 5, 6], [7, 8, 9]], ['e', 'f', 'g'], ['x', 'y', 'z']]
print (list)
print(list[0][0][0])#返回值1,成功找到1


文章版权声明:除非注明,否则均为柳三千运维录原创文章,转载或复制请以超链接形式并注明出处。

目录[+]

取消
微信二维码
微信二维码
支付宝二维码