关于列表那些事:12.24
列表:
增 1. append 追加 # l1.append(True) # l1.append([1,2,3]) # print(l1) ''' name_list = [] while 1: username = input("请输入姓名").strip() if username.upper() == 'Q': break name_list.append(username) print(name_list) ''' 2. insert 插入 # l1.insert(1, 'sb') # print(l1) 3. extend 迭代着追加 # l1.extend('abc') # l1.extend(['abc', 'edf', 12]) # print(l1)
删 1. pop 按照索引删除 # ret = l1.pop(2) # 有返回值 # print(ret) # print(l1) 2. remove 按照元素删除 # l1.remove('alex') # print(l1) 3. clear 清空列表 # l1.clear() # print(l1) 4. del 切片和步长删 ''' 1,按照索引删除单个元素 与pop相同 2,按照切片删除一部分元素 3,按照切片(步长)删除一部分元素 ''' # del l1[-1] # print(l1) # del l1[:3] # print(l1) # del l1[:3:2] # print(l1)
改 # 列表没有replace, 只有字符串才由replace. str = "文件费河北" s1 = str.replace("河","山") print(s1) #@ 列表的改就是索引-赋值 ''' 1,按照索引改 2,按照切片改 3,按照切片(步长)改 ''' # l1[0] = 'sb' # print(l1) # l1[:2] = 'abcd' # l1[:2] = [1,2,3,4,5,6,7,8] # print(l1) # l1[:3:2] = '太白' # print(l1)
查和其他操作 查 # 按照索引,按照切片 # for i in l1: # print(i) # 其他操作: # print(len(l1)) # 测试总个数 # count 计算某个元素出现的个数 # print(l1.count('太白')) # list # index 通过元素找索引找第一个就返回,找不到就报错 # print(l1.index('alex')) # print(l1.index('alex1')) # l1 = [2, 7, 6, 5, 1, 8, 9] # l1.sort() # 从小到大 # l1.sort(reverse=True) # 从大到小 # l1.reverse() # 翻转 # print(l1) # l2 = [ 'der', 'alef','宗r','cdfedgf',] #了解 # l2.sort() # print(l2)
题目:
li = [11,22,33,44,55], 删列表中索引为奇数的元素:
# 法1 切片索引删除: 最简单的方法: li = [11,22,33,44,55] del li[1::2] print(li) # 法2 新增列表b, 把要留下的元素(索引偶数)在列表b中添加 li = [11,22,33,44,55] lis_b = [] for i in range(len(li)): if i % 2 == 0: lis_b.append(li[i]) print(lis_b) li = lis_b # 法3 要在for循环中删除列表, 就把索引倒序range(len(il)-1,-1,-1) 这样删除列表的时候,前面要删还没删的索引不会因为后面的元素 删除而受影响. li = [11,22,33,44,55] for i in range(len(li)-1,-1,-1): if i % 2 == 1 li.pop(li[i]) print(li)
偶数同样, 自己多练练.