Python之第三天的努力--列表,元组,range
1.列表
-
list
- l1 = [123, 'hhh', True, [1, 2, 3]]可承载任意数据类型,存储大量数据
- Python常用的容器型数据类型。list列表 其他语言:Java:数组。
- 列表是有序的,可索引,切片(步长)
-
列表索引
li = [100, '憨憨', True, [1, 2, 3]] # 索引 print(li[0],type(li[0])) print(li[1],type(li[1])) print(li[3],type(li[3]))# li = [1,3,2,'a',4,'b',5,'c'] # 通过对li列表切片形成新列表l1,l1 = [1,3,2] # 通过对li列表切片形成新列表l2,l2 = ['a',4,'b'] # 通过对li列表切片形成新列表l3,l3 = [3,'a','b'] # 通过对li列表切片形成新列表l4,l4 = ['b','a','3'] li = [1, 3, 2, 'a', 4, 'b', 5, 'c'] l1 = li[:3] l2 = li[3:6] l3 = li[1:-2:2] l4 = li[-3:0:-2] print(l1) print(l2) print(l3) print(l4) -
列表的创建
# 列表的创建 # 方法一 l1 = [1, 2, 'hhh'] # 方法二 # l1 = list() # l1 = list('asdfghj') # print(l1) # 方法三: 列表推导式 -
增删改查
-
增
# 增 # append --->追加 # l1.append('dd') # print(l1) # 不能打印print(l1.append('dd'))# 例 l1 = ['zs', 'ls', 'ww', 'zl', 'kk' ] while 1: name = input('请输入新员工姓名:(输入V或v退出程序)') if name.upper() == 'Q': break l1.append(name) print(l1)# insert 插入 l1 = ['zs', 'ls', 'ww', 'zl', 'kk' ] l1.insert(2,'hhh') print(l1)# extend 迭代着追加 l1 = ['zs', 'ls', 'ww', 'zl', 'kk' ] l1.extend('abcd') print(l1) l2 = ['zs', 'ls', 'ww', 'zl', 'kk' ] l2.extend(['hhh',1]) print(l2) -
删
# pop 按照位置索引位置删除 l1 = ['zs', 'ls', 'ww', 'zl', 'kk' ] l1.pop(2) # print(l1.pop(2)) # ww 返回的是删除的元素 print(l1)# remove 指定元素删除,如果有重名元素,默认删除从左数第一个 l1 = ['zs', 'ls', 'ww', 'zl', 'kk', 'ww'] l1.remove('ww') print(l1)
# clear 清空 l1 = ['zs', 'ls', 'ww', 'zl', 'kk' ] l1.clear() print(l1)# del # 按照索引删 l1 = ['zs', 'ls', 'ww', 'zl', 'kk' ] # del l1[-1] # print(l1) # 按照切片删除 del l1[::2] print(l1)-
改
# 按照索引改 l1 = ['zs', 'ls', 'ww', 'zl', 'kk' ] l1[0] = 'hhh' print(l1)# 按照切片改 l1 = ['zs', 'ls', 'ww', 'zl', 'kk' ] l1[2:] = 'asdfg' print(l1)# 按照切片步长改 必须一一对应 l1 = ['zs', 'ls', 'ww', 'zl', 'kk' ] l1[::2] = 'abc' print(l1) -
查
# 索引,切片(步长) l1 = ['zs', 'ls', 'ww', 'zl', 'kk' ] for i in l1: print(i)
-
-
列表的嵌套
l1 = [1, 2, 'zs', [1, 'ls', 3,]] # 1.将l1中的'zs'变成大写并放回原处。 # 2.给小列表[1, 'ls', 3,]追加一个元素'ww' # 3.将列表中的'ls'通过字符串拼接的方式在列表中变成'lssl' l1[2] = l1[2].upper() print(l1) l1[-1].append('ww') print(l1) # new_s = l1[-1][1] + 'sl' # l1[-1][1] = new_s l1[-1][1] += 'sl' print(l1)例:
lis = [2, 30, 'k', ['qwe', 20, ['kl', ['tt', 3, 'l']], 89], 'ab', 'adv'] # 将列表lis中的'tt'变成大写 # 将列表中的数字3变成字符串'100' # 将列表中的字符串'l'变成数字101 print(lis) lis[3][2][1][0] = lis[3][2][1][0].upper() print(lis) lis[3][2][1][1] = '100' print(lis) lis[3][2][1][2] = 101 print(lis)
2.元组
-
只读列表。存大量数据,可以索引,切片(步长),(100, '憨憨', True, [1, 2, 3])
-
只能读。
-
tu = (100, '憨憨', True, [1, 2, 3]) print(tu[0]) print(tu[:3]) print('\n') # 查看 for i in tu: print(i) print('\n') # 元素个数 print(len(tu)) print('\n') tu[-1].append(666) print(tu) -
# 应用: # 重要数据:不想让别人改动的数据,存在元组里 # 元组的拆包。分别赋值 a,b = (1,2) # 多一个少一个都不行 print(a,b)
3.range:类似于列表,自定制数字范围的数字列表
-
r = range(10) print(r) print('\n') # 顾头不顾腚 for i in r: print(i) print('\n') # 索引 print(r[1]) print('\n') -
与for循环结合
# 打印0~100 # for i in range(0,101): # print(i) # 打印0~100中的偶数 # for i in range(2,101,2): # print(i) # 倒序打印1~100 # for i in range(100,0,-1): # print(i)l1 = [1, 2, 3, 'hhh', '憨憨'] # 利用for循环,利用range将l1列表的所有索引依次打印出来 for i in range(len(l1)): print(i)

浙公网安备 33010602011771号