python:数据类型list
一、列表list
list是python中基础的数据类型之一,它是以[ ]括起来,每个元素以逗号隔开,而且他里面可以存放各种数据类型
li = ['alex', 123, True, (1, 2, 3, ' wusir '), [1, 2, 3, '小明'], {'name': 'alex' }]
列表相比与字符串,不仅可以存储不同的数据类型,而且可以存放大量数据。
而且列表是有序的,有索引值,可切片,方便取值。
1.增
append在最后插入元素
ls = [ 1, 'a', 'b', 2, 3, '老男孩'] ls.append('alex') print(ls) ls.append(565) print(ls) ls.append([1, 2, 3]) print(ls) ls.append({'name': 'jin'}) print(ls)
添加新员工
lname_list = ['jin', 'ai', 'lao', 'hu','you'] while True: name = input('请输入要添加的员工名:Q/q') if name.upper() == 'Q': break else: name_list.append(name) print('添加成功%s' %name) print(name_list)
insert 插入 :根据索引添加元素
li = [1, 2, 'a', 'b', 'jin', 'hu', 'qing',] li.insert(0,'haha') print(li) li.insert(-1,'huhu') print(li)
entend迭代的去增,到最后
li = [1, 2, 'a', 'b', 'jin', 'hu', 'qing',] li.extend('abc') li.extend([123,1]) li.extend({'name':'ha'}) print(li) #[1, 2, 'a', 'b', 'jin', 'hu', 'qing', 'a', 'b', 'c', 123, 1, 'name'] print(li[-1]) #name
删
pop按索引删除,有返回值,返回删除的元素
无索引值默认删除最后一个, 超出索引会报错
li = [1, 2, 'a', 'b', 'jin', 'hu', 'qing',] li.pop()#无索引值默认删除最后一个 print(li) li.pop(0) li.pop(-2) print(li) s= li.pop() print (s) #1
remove按元素删除,如果元素不存在报误
li = [1, 2, 'a', 'b', 'jin', 'hu', 'qing',] li.remove('a') print(li) li.remove(2) print(li)
li.remove('nihao')
clear:清空内容
li = [1, 2, 'a', 'b', 'jin', 'hu', 'qing',] li.clear() print(li)
del:删除列表,删除后再打印列表
可以按切片去删除
del li[:-2] del li[-2:] del li[:5:2] print(li) del li print (li)
改
按索引改
print(li[1]) li[1] = 'A' print(li) li[1] = [11, 22, 33]#将列表一起添加到新列表中 print(li) li[1] = {'name': 'nihao'} print(li)
按切片改:
li = [1, 2, 'a', 'b', 'jin', 'hu', 'qing',] li[:3] = 'ASD' print(li) li[:2] = 'l' print(li) li[:2] =[11,22,33,44]#将列表内的元素,逐一添加到新列表中 print(li) print(li[3])
查
用索引,切片,for循环查看
li = [1, 2, 'a', 'b', 'jin', 'hu', 'qing',] print(li[1]) print (li[:3]) for i in li : print (i)
其他方法
sort 从小到大,正向排序
l1 = [1, 2, 1, 7, 5, 4, 9, 8, 3] l1.sort() print(l1) l1.sort(reverse= True)#从大到小,反向排序 print(l1)
reverse反转排序
li.reverse() print(l1)
index通过元素找索引
li = [1, 2, 'a', 'b', 'jin', 'hu', 'qing',] print (li.index('a'))
还有len长度,count计数
list的嵌套
li = [1,2,'alex',['100','wusir',99,],22] #1.将alex变成首字母大写的Alex li[2] = li[2].capitalize() print(li) #2.将wusir变成全部大写的wusir放到原处 li[3][1]= li[3][1].upper() print(li) #3.将99加1放回原处 li[3][2]= li[3][2]+1 print (li)
range :指定范围生成指定数字
for i in range(100) : print(i) for i in range(0,10,2): print(i) for i in range(10,0,-1):#可以加步长 print(i) for i in range (-2,0,1): print (i) li = [2,3,'alex',4,5] for i in range (0,len(li)): print (li[i])