python学习第四次记录
列表list
列表可以存储不同数据类型,而且可以存储大量数据,python的限制是 536870912 个元素,64位python的限制是 1152921504606846975 个元素。列表是有序的,有索引值,可切片,方便取值。
列表的创建
1 # 创建一个列表有三种方式: 2 3 # 方式一:(常用) 4 l1 = [1, 2, '哈哈'] 5 6 7 # 方式二:(不常用) 8 l1 = list() # 空列表 9 # l1 = list(iterable) # 可迭代对象 10 l1 = list('123') 11 print(l1) # ['1', '2', '3'] 12 13 # 方式三:列表推导式(后面的课程会讲到) 14 l1 = [i for i in range(1,5)] 15 print(l1) # [1, 2, 3, 4]
列表的索引切片
1 li = ['a', 'b', '哈哈', 3, 666] 2 print(li[0]) # 'a' 3 print(li[-1]) # 666 4 print(li[1:3]) # ['b', '哈哈'] 5 print(li[:-1]) # ['a', 'b', '哈哈', 3] 6 print(li[::2]) # ['a', '哈哈', 666] 7 print(li[::-1]) # [666, 3, '哈哈', 'b', 'a']
列表的增加
append方法
1 # append 追加,给列表的最后面追加一个元素 2 l = [1, 2, 'a'] 3 l.append(666) 4 print(l) # [1, 2, 'a', 666]
insert方法
1 # insert 插入在列表的任意位置插入元素 2 l = [1, 2, 'a'] 3 l.insert(1, '哈哈') 4 print(l) # [1, '哈哈', 2, 'a']
extend方法
1 # extend 迭代着追加,在列表的最后面迭代着追加一组数据 2 l = [1, 2, 'a'] 3 l.extend('哈哈') 4 print(l) 5 # [1, 2, 'a', '哈', '哈']
列表的删除
通过索引删除列表中对应的元素 pop
1 # pop 通过索引删除列表中对应的元素,该方法有返回值, 2 # 返回值为删除的元素 3 l = ['哈哈', 'heihie', 'wowo', '美女'] 4 accept = l.pop(1) 5 print(accept, l) 6 # heihie ['哈哈', 'wowo', '美女']
通过元素删除列表中该元素 remove
1 # remove 通过元素删除列表中该元素 2 l = ['哈哈', 'ahah', 'heihei', '女神'] 3 l.remove('ahah') 4 print(l) # ['哈哈', 'heihei', '女神']
清空列表 clear
1 # clear 清空列表 2 l = ['haha', 'heihie', 'jjjaa', '女神'] 3 l.clear() 4 print(l) # []
按照索引删除该元素 del
1 # 按照索引删除该元素 2 l = ['adfd', 'aldaf', 'Wdafda', '女神'] 3 del l[2] 4 print(l) # ['adfd', 'aldaf', '女神']
切片删除该元素
1 l = ['sd白', 'sda', 'dasda', '女神'] 2 del l[1:] 3 print(l) # ['sd白']
切片(步长)删除该元素
1 # 切片(步长)删除该元素 2 l = ['df', 'rrgfg', 'hjhf', '女神'] 3 del l[::2] 4 print(l) # ['rrgfg', '女神']
列表的修改
按照索引改值
1 # 按照索引改值 2 l = ['sff', 'rrt', 'hjf', '女神'] 3 l[0] = '男神' 4 print(l) # ['男神', 'rrt', 'hjf', '女神']
按照切片改值(迭代着增加)
1 # 按照切片改值(迭代着增加) 2 l = ['sdas', 'ds', 'ghgd', '女神'] 3 l[1:3] = 'djy' 4 print(l) # ['sdas', 'd', 'j', 'y', '女神']
按照切片(步长)改值(必须一一对应)
1 # 按照切片(步长)改值(必须一一对应) 2 l = ['gs', 'fgra', 'kgjk', '女神'] 3 l[::2] = '对应' 4 print(l) # ['对', 'fgra', '应', '女神']
列表的查看
切片查看
1 li = ['ds', 'ht', 'ui', 'ew', '女神'] 2 for i in li: 3 print(i)
循环查看
1 li = ['trt', 'dddsd', 'jh', 'qqqw', '女神'] 2 print(li[0:2]) 3 # ['trt', 'dddsd']
公共方法
返回字符串、列表、字典、元组等长度 len
1 li = ['sda', 'er', 'gh', 'kik', '女神'] 2 l = len(li) 3 print(l) # 5
统计某个元素在列表中出现的次数 count
1 li = ['sda', 'er', 'gh', 'kik', '女神'] 2 num = li.count('gh') 3 print(num) # 1
用于从列表中找出某个值第一个匹配项的索引位置 index
1 li = ['sda', 'er', 'gh', 'kik', '女神'] 2 # 列表中只有index,没有find 3 print(li.index('gh')) # 2
方法用于在原位置对列表进行排序 sort
正向排序
1 li = [1, 5, 4, 7, 6, 2, 3] 2 # 正向排序 3 li.sort() 4 print(li) 5 # [1, 2, 3, 4, 5, 6, 7]
倒叙排序
1 li = [1, 5, 4, 7, 6, 2, 3] 2 li.sort(reverse=True) 3 print(li) 4 # [7, 6, 5, 4, 3, 2, 1]
方法将列表中的元素反向存放 reverse
1 li = [1, 5, 4, 7, 6, 2, 3] 2 li.reverse() 3 print(li) 4 # [3, 2, 6, 7, 4, 5, 1]
列表的相加和整数相乘
1 l1 = [1, 2, 3] 2 l2 = [4, 5, 6] 3 # print(l1+l2) # [1, 2, 3, 4, 5, 6] 4 print(l1*3) # [1, 2, 3, 1, 2, 3, 1, 2, 3]
列表的嵌套
1 # 列表的嵌套 2 li = ['sa', 'dfdf', 're', ['hg', 'mj', 89], 23] 3 # print(li[1][1]) # f 4 5 li[0] = li[0].capitalize() 6 print(li) 7 # ['Sa', 'dfdf', 're', ['hg', 'mj', 89], 23] 8 9 li[2] = "nihao321" 10 print(li) 11 # ['sa', 'dfdf', 'nihao321', ['hg', 'mj', 89], 23] 12 13 print(li[2].replace('re', 'dfsggtg')) 14 15 li[3][0] = li[3][0].upper() 16 print(li) 17 # ['sa', 'dfdf', 're', ['HG', 'mj', 89], 23]
元祖 tuple
# 元祖 只读列表,可循环查询,可切片
# 儿子不能改,孙子可能可以改
元祖的索引切片
1 tu1 = ('a', 'b', '哈哈', 3, 666) 2 print(tu1[0]) # 'a' 3 print(tu1[-1]) # 666 4 print(tu1[1:3]) # ('b', '哈哈') 5 print(tu1[:-1]) # ('a', 'b', '哈哈', 3) 6 print(tu1[::2]) # ('a', '哈哈', 666) 7 print(tu1[::-1]) # (666, 3, '哈哈', 'b', 'a')
元祖的其他操作方法
利用for循环查询
1 tu1 = ('a', 'b', 'asd', 3, 666) 2 for i in tu1: 3 print(i)
# 列表转换成字符串 join
# 字符串转换成列表 split
1 s = 'dfd' 2 s1 = '_'.join(s) 3 print(s1) 4 # d_f_d 5 6 li = ['ffe', 'rfr', 'df', 'jkjy', '女神'] 7 s = '+++'.join(li) 8 print(s) 9 # ffe+++rfr+++df+++jkjy+++女神 10 # join返回字符串
range
1 # range [1, 2, 3, 4, 5, 6, ......] 2 for i in range(0, 10): 3 print(i) 4 5 for i in range(10): 6 print(i) 7 8 for i in range(0, 10, 2): 9 print(i) 10 11 for i in range(10, 0, -2): 12 print(i) 13 14 for i in range(0, 10, -2): 15 print(i)