1-2. 列表的初识
+ why:int bool str:'123 True xiaoqing'
+ str: 存储少量的数据。
+ str:切片还是对其进行任何操作,获取的内容全都是str类型。存储的数据单一。
+ what:list
+ l1 = [100, 'ajax',True,[1, 2, 3]] 承载任意数据类型,存储大量的数据。
+ python常用的容器型数据类型。list 列表,其他语言:Java: 数组。
+ 列表是有序的,可索引,切片(步长)。
-
索引,切片,步长。
li = [100, 'yyy', True, [1, 2, 3]] # 索引 # print(li[0], type(li[0])) # print(li[1],type(li[1])) # print(li[-1]) # 切片 (顾头不顾腚) # print(li[:2])
相关练习题:
li = [1, 3, 2, "a", 4, "b", 5,"c"] 通过对li列表的切片形成新的列表l1,l1 = [1,3,2] 通过对li列表的切片形成新的列表l2,l2 = ["a",4,"b"] 通过对li列表的切片形成新的列表l4,l4 = [3,"a","b"] 通过对li列表的切片形成新的列表l6,l6 = ["b","a",3]
-
列表的增删改查
# 列表的创建 # 方式一 # l1 = [1, 2, 'xxx'] # 方式二 # l1 = list() # l1 = list('fhdsjkafsdafhsdfhsdaf') # print(l1) ['s', 'a', 'f', 's', 'd', 'f', 'a', 's', 'd', 'f', 'a', 's', 'd', 'f', 'a'] # 方式三:列表推导式 后面讲 # 增删改查 l1 = ['张三', '李四', 'xiao','王老五'] # 增: # append:追加 # l1.append('xx') # print(l1.append('xx')) # None # print(l1) # 举例: # l1 = ['张三', '李四', 'xiao','王老五'] # while 1: # name = input('请输入新员工姓名:(Q或者q退出程序)') # if name.upper() == 'Q': break # l1.append(name) # print(l1) # insert 插入 # l1.insert(2,'sir') # print(l1) #extend 迭代着追加 # l1.extend('abcd') # l1.extend(['xxx',]) # l1.extend(['xxx', 1, 3]) # print(l1) # 删 # pop 按照索引位置删除 # l1.pop(-2) # 按照索引删除 (返回的是删除的元素) # print(l1.pop(-2)) # l1.pop() # 默认删除最后一个 # print(l1) # remove 指定元素删除,如果有重名元素,默认删除从左数第一个 # l1.remove('xiao') # print(l1) # clear(了解) # l1.clear() # 清空 # print(l1) # del # 按照索引删除 # del l1[-1] # print(l1) # 按照切片(步长)删除 # del l1[::2] # print(l1) # 改 # 按照索引改值 # l1[0] = '男神' # 按照切片改(了解) # l1[2:] = 'fsdafsdafsdfdsfsadfdsfdsgsfdag' # print(l1) # 按照切片(步长)(了解) # l1[::2] = 'abc' # l1[::2] = 'abcd' # print(l1) # 查: # 索引,切片(步长) # for i in l1: # print(i)
-
列表的嵌套
l1 = [1, 2, '小青', [1, '张三', 3,]] # 1, 将l1中的'taibai'变成大写并放回原处。 # 2,给小列表[1,'linux',3,]追加一个元素,'老男孩教育'。 # 3,将列表中的'linux'通过字符串拼接的方式在列表中变成'linuxsb'
-
元组(了解)
- 只读列表。存大量的数据,可以索引,切片(步长), (100, '小青', True, [1, 2, 3])
-
range: 类似于列表,自定制数字范围的数字列表