基本数据类型---列表
列表的定义和创建
定义:[]内以逗号分隔,按照索引,存放各种数据类型,每个位置代表一个元素
列表的创建
>>> list_test=['张三', '李四', 'houxingbin'] >>> list_test ['张三', '李四', 'houxingbin'] # 或 >>> list_test=list('houxingbin') >>> list_test ['h', 'o', 'u', 'x', 'i', 'n', 'g', 'b', 'i', 'n'] # 或 >>> list_test=list(['张三', '李四', 'houxingbin']) >>> list_test ['张三', '李四', 'houxingbin']
列表的特点和常用操作
特性:
1.可存放多个值
2.按照从左到右的顺序定义列表元素,下标从0开始顺序访问,有序
3.可修改指定索引位置对应的值,可变
# 索引 >>> l = ['zhangsan', 'lisi', 'wangwu', 'houxingbin'] >>> l[0] 'zhangsan' >>> l[1] 'lisi' >>> l[-1] # 从后边开始取为负数 'houxingbin' >>> l[-2] 'wangwu' # 查找 >>> l = ['hou','bin', 1, 2, 4 , 4, 5, 5, 5, ] >>> l.index('hou') # 查找出来为索引的值 0 >>> l.index(4) # 如果有重复的值,只去左边第一个,如要查找其它,如下: 4 >>> l[4:].index(4) 0 >>> l.count(4) # 统计一共有多少个重复的值 2 >>> l.count(5) 3 # 切片 >>> l = ['zhangsan', 'lisi', 'wangwu', 'houxingbin'] >>> l[0:2] ['zhangsan', 'lisi'] >>> l[2:5] ['wangwu', 'houxingbin'] >>> l[2:] ['wangwu', 'houxingbin'] >>> l[:] ['zhangsan', 'lisi', 'wangwu', 'houxingbin'] >>> l[::2] ['zhangsan', 'wangwu'] >>> l[::-1] ['houxingbin', 'wangwu', 'lisi', 'zhangsan'] >>> # 插入 >>> l = ['zhangsan', 'lisi', 'wangwu', 'houxingbin'] >>> l.insert(2, 'zhangsanfeng') # 第一个为索引,第二个为插入的值 >>> l # 插入之后,该索引以及之后的索引都会向后排 ['zhangsan', 'lisi', 'zhangsanfeng', 'wangwu', 'houxingbin'] # 追加 >>> l = ['zhangsan', 'lisi', 'wangwu', 'houxingbin'] >>> l.append("eva") >>> l ['zhangsan', 'lisi', 'wangwu', 'houxingbin', 'eva'] # 删除 >>> l = ['zhangsan', 'lisi', 'wangwu', 'houxingbin', 'eva'] >>> l.remove("eva") >>> l ['zhangsan', 'lisi', 'wangwu', 'houxingbin'] >>> >>> l.pop() 'houxingbin' >>> l ['zhangsan', 'lisi', 'wangwu'] >>> del l[1] #全局删除 >>> l ['zhangsan', 'wangwu'] # 长度 >>> len(l) 3 >>> # 包含 >>> 'zhangsan' in l True >>> >>> 'libai' in l False # 循环 >>> for i in l: ... print(i) ... zhangsan lisi wangwu # 排序 >>> n = [2, 3, 4, 1, 7, 5, 'c', 'e'] >>> n.sort() # 注意,整型和字符串类型不能进行排序 Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: '<' not supported between instances of 'str' and 'int' >>> n = [2, 3, 4, 1, 7, 5] >>> n.sort() >>> n [1, 2, 3, 4, 5, 7] >>> n2 = ['b', 'e', 'g', 'q', '$', '1'] # 字符串类型是按照ASCII进行排序 >>> n2.sort() >>> n2 ['$', '1', 'b', 'e', 'g', 'q'] # 列表的拼接 >>> n+n2 [2, 3, 4, 1, 7, 5, 'b', 'e', 'g', 'q', '$', '1'] # 列表的清空 >>> n.clear() >>> n [] # 列表的复制 >>> n2 ['b', 'e', 'g', 'q', '$', '1'] >>> n3 = n2.copy() >>> n3 # n2和n3都是相互独立的 ['b', 'e', 'g', 'q', '$', '1']
列表与字符串——split和join
# 分割 >>> s = "hello world!!" >>> s.split() # split函数默认以空格进行分割 ['hello', 'world!!'] >>> >>> >>> s2 = "hello,world!!" >>> s2.split(",") ['hello', 'world!!'] # 链接 >>> l = ['hi', 'eva'] >>> "".join(l) 'hieva' >>> ",".join(l) 'hi,eva'
range
创建一个从1-100的列表,是直接从1写到100还是用循环?如果从1写到100未免太傻气了,用循环好像还好一点儿。但是用循环写还不够简单,在python里有一个现成的方法,可以直接生成一个1-100的数。
>>> list(range(10)) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> >>> list(range(5,10)) [5, 6, 7, 8, 9]


浙公网安备 33010602011771号