Python之路Day4
今日大纲
1.列表
1.1 列表的切片、索引
1.2 列表的增、删、改、查
1.3 列表的其他操作方法
2.元组
2.1 元组的切片、索引
2.2 元组的操作方法
3.range
1.列表
1.1 列表的索引、切片
li = [123, '老男孩', True, [1, 2, 3], {'name': 'alex'}, (1, 2, 3)]
列表为容器型数据类型,可存储任意数据类型,且元素取出后仍然为原数据类型
1.1.1 列表的索引
print(li[0]) print(li[-1])
1.1.2 列表的切片,步进
print(li[0:3]) print(li[:-1]) print(li[::2]) print(li[-1::-1])
1.2 列表的增、删、改、查
1.2.1 增
方法一:append 追加
l1.append("abc") print(l1) l1.append(134) print(l1) l1.append([11,12,34]) print(l1)
例题:录入姓名,当选择Q或q时,退出系统 l1 = ['wusir', 'alex', 'laonanhai', 'ritian', 'taibai'] while True: name = input("请输入姓名:").strip() if name.upper() == 'Q': break else: l1.append(name) print("%s已录入成功!"% (name)) print(l1) 执行结果: 请输入姓名:张召忠 张召忠已录入成功! 请输入姓名:q ['wusir', 'alex', 'laonanhai', 'ritian', 'taibai', '张召忠']
方法二:insert 插入
l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai'] l1.insert(1,"孙悟空") print(l1)
方法三:extend 迭代着追加,加入的是被迭代对象的最小元素
l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai'] l1.extend("abc") print(l1) 执行结果: ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai', 'a', 'b', 'c'] l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai'] l1.extend([11,13,"abc"]) print(l1) ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai', 11, 13, 'abc']
1.2.2 删
方法一:pop 根据索引删除值,有返回值,即删除的值
l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai'] print(l1) rel = l1.pop(1) print(rel) print(l1)
方法二:remove 根据值删除
l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai'] l1.remove(True) print(l1)
方法三:clear 清空列表
l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai'] l1.clear() print(l1)
方法四:del
(1)从内存级别删除
l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai'] del l1 print(l1)
(2)根据索引删除
l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai'] del l1[1] print(l1)
(3)根据切片删除
l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai'] del l1[0:3] print(l1)
1.2.3 改
(1) 按照索引去改
l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai'] l1[0] = "孙悟空" print(l1)
(2) 按照切片去改,先将切片的区域内的内容全部删除,在迭代着添加内容。
l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai'] l1[0:3] = "abcd" print(l1) 执行结果: ['a', 'b', 'c', 'd', 'laonanhai', 'ritian', 'taibai']
l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai'] l1[0:4] = [11,12,14,"abc"] print(l1) 执行结果: [11, 12, 14, 'abc', 'ritian', 'taibai']
1.2.4 查
(1)按照索引、切片去查
l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai'] print(l1[1:3])
(2)按照for循环遍历列表
l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai'] for item in l1: print(item)
1.3 列表的其他操作
len() 列表中有多少个元素 l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai'] print(len(l1))
count 列表中某元素出现的次数 l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai'] print(l1.count(True))
index 通过元素找索引 l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai'] print(l1.index("taibai",0,))
sort 对列表进行排序 li = [1,3,2,9,4,5,6] li.sort() #正序 print(li) li.sort(reverse=True) #反序 print(li)
reverse 列表翻转 li = [1,2,9,4,5,6] li.reverse() print(li)
1.4 列表的嵌套
l1 = ['wusir', 'alex', [99, ' taibai', '98'], 21] (1) 将wusir变成全部的大写。 l1 = ['wusir', 'alex', [99, ' taibai', '98'], 21] l1[0] = l1[0].upper() print(l1) (2) 将‘taibai'变成首字母大写,其他字母小写,放回原处。 l1 = ['wusir', 'alex', [99, ' taibai', '98'], 21] l1[2][1] = l1[2][1].strip().capitalize() print(l1) (3) 用数字的相加将99 变成 字符串的 '100'. l1 = ['wusir', 'alex', [99, ' taibai', '98'], 21] l1[2][0] = str(l1[2][0] + 1) print(l1) (4) 字符串的'98' 变成数字的100. l1 = ['wusir', 'alex', [99, ' taibai', '98'], 21] l1[2][2] = int(l1[2][2]) + 2 print(l1)
2.元组
2.1 元组的索引、切片
元组:只读列表 只能查询,不能增删改
tu = (11, 22, 33, 44, 55)
索引,切片,步长
tu = (11, 22, 33, 44, 55) print(tu[1:3]) print(tu[-1::-1])
for循环遍历元组
tu = (11, 22, 33, 44, 55)
for item in tu:
print(item)
2.2 元组的操作
2.2.1 方法
len 元组中有多少个元素 tu = (11, 22, 33, 44, 55) print(len(tu))
count 元组中某元素出现的个数 tu = (11, 22, 33, 22, 55) print(tu.count(22))
index 查询某元素的索引 tu = (11, 22, 33, 44, 55) print(tu.index(22,0,))
2.2.2 元组中的一级元素不可增删改,但二级元素可以增删改
tu = ('wusir', 'alex', [22, 44, 'taibai'],) tu[-1].append("abc") print(tu)
tu = ('wusir', 'alex', [22, 44, 'taibai'],) del tu[-1][0] print(tu)
tu = ('wusir', 'alex', [22, 44, 'taibai'],) tu[-1][-1] = "孙悟空" print(tu)
3.range
range 可以当做自定义的数字列表,满足顾头不顾尾的原则,可以加步长,常与for循环结合使用
例1:打印1到100 for i in range(1,101): print(i)
例2:打印0到100的偶数 for i in range(0,101,2): print(i)
例3:打印10到1 for i in range(10,0,-1): print(i)
例4:打印该列表的索引 l1 = [22, 33, 33, 33, 66, 77, 88, 99] for i in range(len(l1)): print(i)
例5:依次打印列表中每一个元素,包括内部嵌套列表中的每一个元素 l1 = ['wusir', 'alex', [99, ' taibai', '98'], 21] for i in l1: if type(i) == list: for v in i: print(v) else: print(i)

浙公网安备 33010602011771号