python 之list 操作
1.list 格式
通过访问索引的形式进行访问。
如list=[值1,值2,值3,值4]。
2,查询操作
print (list[i])(i对应的list中元素的第几位 。从0位开始算)
3.添加元素
list.append(值5) (在list末尾添加一个元素)
list.insert(1,值6) (表示在索引为1的位置添加一个元素)
list1.extend(list2) (表示数组拼接 ,list1后面加上list2重新组成数组 )
4.修改元素
list[3]=值8
5.删除元素
list.pop(-1) (指定下标删除,-1表示最后一位)
list.remove (值8) (指定元素删除 ,元素不存在时报错 )
6.统计和清空
list.count(值4) (统计某个元素在list中出现的次数)
list.index(值4) (找出某个元素对应的下标,如果元素不存在时报错)
list.clear() (清空list内容)
7.排序
list.sort( ) (默认从小到大排序,如果需要反,list.sort(reverse=True).或 list.reverse() ,print(list)).
8.去空格
值1.strip() 去除元素左右两边空格
9.切片取值(字符串也可以切片取值 。只要有下标的,都可以切片取值。)
print(l[:3]) #顾头不顾尾,表示从地址 0-2.共取3个元素。
print(l[0:6:2])表示每隔2个取一个
print(s[::-1])#如果切片的步长是负数的话,那么就是从后往前开始取。
print(s[-1:-5:-2])#从后往前,从倒数第一个,到倒数第4个。步长为2。
10.循环取值
# li = [1,1,2,3,3,4,5,6,7,8,9] # # li2 = li[:] # print('li',id(li)) # print('li2',id(li2)) # 0 1 2 3 4 5 6 7 8 9 #循环的时候不要删list里面的元素,会导致下标错乱 # for i in li2: # if i%2!=0: # li.remove(i) # print(li)
11.深拷贝,浅拷贝
# import copy # stus = ['abc','xioahei','abc2'] # stu1 = stus #浅拷贝,地址一样,互相影响 # # stus2 = stus[:] #深拷贝 # stu3 = copy.deepcopy(stus)#深拷贝
12.列表生成式
l = [] # for i in range(1,101): # if i%2==0: # l.append(i) # print(l) # result = [ str(i).zfill(2) for i in range(1,20) if i<8 ] # print(result) # # result2 = [] # for i in range(1,10): # if i<8: # j = str(i).zfill(2) # result2.append(j) # # print(result2)
13.三元表达式
id_card = '410881199211111141' # if int(id_card[-2]) % 2 == 0: # sex = '女' # else: # sex = '男' # print(sex) sex = '女' if int(id_card[-2])%2 == 0 else '男' #三元表达式 print(sex)