列表的常用操作

###列表是一种可变的容器型的数据类型

l1 = ['Naruto','Sakurua','Sasukey','wanghw']
#索引
print(l1[0],type(l1[0]))
print(l1[1],type(l1[1]))

#切片
print(l1[:5],type(l1[:5]))
print(l1[0:4:2])
print(l1[-1:-4:-1])

#列表的常用操作——增删改查
'''##增——insert、append、extend'''
###()append——追加
l1.append(['王宏伟',22,'male'])
print(l1)
###(2)insert——插入
l1.insert(1,'whw')
print(l1)
###(3)extend——迭代追加
l1.extend('Alex')
print(l1)#

'''删——pop、remove、clear、del'''
###()按照索引去删——pop()
###只有pop()会将被删除的元素返回
ret = l1.pop(0)
print('被删除的元素',ret)
print(l1)
###(2)按照元素删除——remove()
###如果有同名的元素,则会只删除第一个
l1.append('A')
print(l1)
l1.remove('A')
print(l1)
###(3)清空列表
l3 = [1,2,3,4,5]
print(l3)
l3.clear()
print(l3,type(l3))
###(4)del——————
###(4-)按照索引删除
del l1[-2]
print(l1)
###(4-2)按照切片(可以加步长)删除
del l1[1:5:2]
print(l1)
###(4-3)删除整个列表
l4 = [1,2,3]
print(l4)
del l4
# print(l4)# 报错:NameError: name 'l4' is not defined

'''''''#改—— l1[0]=*  l1[:3]="wanghw"  l1[:4:2]=222,333  '''
l1[0] = '男神'
print(l1)
l1[:3] = 'WhwEa'
print(l1)
##按照步长添加,元素的个数必须与索引个数一一对应
l1[:4:2] = 222,333
print(l1)

#
'''   
###(1)按照索引
###(2)按照切片+步长
###(3)for循环
'''

#其他方法:len、count、index、sort、reverse
###len——获取列表长度
print(len(l1))

###count——计算某个元素出现的次数
print(l1.count('a1'))

###index——通过元素返回索引
#       ——找到第一个就返回,找不到就报错

###sort——排序——默认从小到大
l11 = [1,4,3,2,6,5,11,9]
l12 = [1,4,3,2,6,5,11,9]
l11.sort()
print(l11)
l12.sort(reverse=True)
print(l12)

###reverse——反转
l13 = ['a1','b','c','d']
l13.reverse()
print(l13)#['d', 'c', 'b', 'a1']

 

#创建一个从1到9的列表
list1 = list(range(1,10))
print(list1)
list2 = ['a1','b','c',1,2,3]
#查找元素对应的下标,没有则报错
print(list2.index(3))
#查找元素的个数,没有则是0
print(list2.count('d'))

#切片——左闭右开区间——“顾头不顾尾”
print(list2[1:2]) #['b']
print(list2[0:-1])#['a1', 'b', 'c', socketserver模块-循环接收0, 2]
print(list2[:])
print(list2[::2])#['a1', 'c', 2]
print(list2[1::2])#['b', socketserver模块-循环接收0, 3]

#增加——append、insert、extend
list1.append('w')
print(list1)
list1.insert(0,'h')
print(list1)
list1.extend(list2)
print(list1)

#删除——pop、remove、del
list1.pop()#默认删除最后一个
print(list1)
list1.pop(-1)
print(list1)
list1.remove('h')
print(list1)
#没有的话会报错
# ValueError: list.remove(x): x not in list
#list1.remove('ww')
# del list2 将列表彻底删掉
#先 del list2 再print(list2)的话会报错,提示list2not defined
del list1[2:5]
print(list1)
##clear
# list2.clear()  清空列表,得到一个空列表

#遍历————for....与enumerate配合
count = 0
for i in list2:
    count += 1
print(count,len(list2))

for i,v in enumerate(list2,1):
    print(i,v)

#排序——sort()——————反转——reverse()
##注意sort()方法 reverse参数:默认为False:正序,若指定为True:逆序
list3 = [2,32,11,55,0,1,-1]
list3.sort(reverse=True)
print(list3)#[-socketserver模块-循环接收0, 0, socketserver模块-循环接收0, 2, zz, 32, 55]
list3.reverse()
print(list3)#[55, 32, zz, 2, socketserver模块-循环接收0, 0, -socketserver模块-循环接收0]

##按照格式打印商品列表
products = [['iphon10',10000],['MacPro',16666],['小米16',1555],['Coffee',23],['Book',12]]
print('商品列表'.center(20,'*'))
for i,v in enumerate(products,1):
   print(str(i)+'.',v[0],v[1])

 

posted on 2019-05-20 21:53  江湖乄夜雨  阅读(259)  评论(0编辑  收藏  举报