python之路day4 列表,元组
列表:python基础数据类型之一:其他语言中也有列表的概念,js 数组,可索引,可切片,可加步长
li = ['alex', 100, True, [1, 2, 3], {'name':'太白'},(22, 33)]
s1 = '[1,2,3]'
列表可以存储大量的数据32位python的限制是 536870912 个元素,64位python的限制是 1152921504606846975 个元素。
# li = ['alex', 100, True, [1, 2, 3], {'name':'太白'},(22, 33)] # 第一:索引,切片,切片+步长。 # print(li[0],type(li[0])) # print(li[1],type(li[1])) # print(li[2],type(li[2])) # print(li[:4]) # print(li[::2]) # print(li[-1:-4:-2]) # print(li[-1:2:-2]) l1 = ['alex', 'wusir', 'taibai', 'egon', '景女神', '文周老师', '日天'] #第二:增删改查,其他方法。 # 增 # append 追加 # l1.append('小温老师') # print(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) # insert 插入 # l1.insert(1,'宝元') # print(l1) # extend 迭代着追加 # l1.extend('abc') # # l1.extend([111,222,333]) # l1.extend(['alex','sb']) # print(l1) # 删除 # pop 按照索引去删除 # ret = l1.pop(0) # print(ret) # 返回值 # print(l1) # remove 按照元素删除 # l1.remove('alex') # print(l1) # clear 清空 # l1.clear() # print(l1) # del # 可以按照索引删除 # del l1[0] # print(l1) # 可以按照切片删除(可以加步长) # del l1[:2] # del l1[3:] # del l1[1::2] # print(l1) # 可以在内存级别删除整个列表 # del l1 # print(l1) # 改 # 按照索引改 # l1[2] = '男神' # l1[-1] = '泰迪' # 按照切片(加步长) # 按照切片 # l1[:2] = 'sbsbsb' # l1[:4] = [11,22,33,44,55,66,77] #按照切片 + 步长 一一对应 # l1[:3:2] = 'af' # print(l1) # 查 # 索引,切片,切片+步长 # for 循环 # for i in l1: # print(i) # 其他方法 # print(len(l1)) # 查询总个数 # print(l1.count('alex')) # 某个元素出现的次数 # index 通过元素找索引 # print(l1.index('taibai')) # l2 = [5, 6, 7, 1, 4, 3, 2, 9] # sort # l2.sort() # 从小到大 # print(l2) # l2.sort(reverse=True) # 从大到小 # print(l2) # l2.reverse() # 反转 # print(l2) #第三:列表的嵌套。 l3 = ['alex', 'wusir', ['taibai', 99, 'ritian'], 20] # 1, 找到alex的e元素。 # s1 = l3[0] # print(s1) # print(s1[2]) # s2 = l3[0][2] # print(s2) # 2, 将wusir变成大写。 # w1 = l3[1] # w2 = w1.upper() # l3[1] = w2 # print(l3) # l3[1] = 'WUSIR' # l3[1] = l3[1].upper() # print(l3) # 3, 给此列表['taibai',99,'ritian'] 追加一个元素,'文周' # print(l3[2]) # l3[2].append('文周') # print(l3) # 4,将 'taibai' 首字母大写。 # print(l3[2][0]) # s1 = l3[2][0].capitalize() # # print(s1) # l3[2][0] = s1 # l3[2][0] = l3[2][0].capitalize() # l3[2].append(666) # l3[2][0].capitalize() # print(l3) # 5,将 99 通过数字加1 的方式变成100,并放回原处。 # l3[2][1] = l3[2][1] + 1 # l3[2][1] += 1 # print(l3)
元组:只读列表,只允许查询,不允许增删改
# tu1 = ('alex', 100, True, [1, 2, 3], {'name':'太白'},(22, 33)) # 索引,切片,切片+步长 # print(tu1[0]) # print(tu1[:3]) # # for 循环 # for i in tu1: # print(i) # index,len,count # 应用场景: 一些非常重要的数据,不允许所有人修改的,放在元组中。 # tu1[3].append(666) # tu1.append(666) 错的 # 元组 儿子不能改,孙子可能可以改。 # print(tu1)
range 自定制的 数字范围的 可迭代对象类比成列表
# range(1,101) # print(range(1,101)) # range() 一般和for 循环结合使用。 # for i in range(1,11): # print(i) # for i in range(1,20,2): # print(i) # for i in range(1,101,2): # print(i) # for i in range(10,1,-1): # print(i) l1 = ['alex', 'alex', 'taibai', 'egon', '景女神', '文周老师', '日天'] # 方法一:不好 # for i in l1: # print(l1.index(i)) # 方法二: # for i in range(0,len(l1)): # print(i) s1 = 'alex' l1 = ['alex', 'alex', 'taibai', 'egon', '景女神', '文周老师', '日天'] # print('a' in s1) # print('al' in s1) # print('alx' in s1) print('alex' not in l1) # print(['alex','alex'] in l1)