python基础--列表和元组
⼀. 列表
1.列表的索引和切片
列表和字符串一样也有索引:
1 lst = [1, "周杰伦", True, False, ["可口可乐", "雪碧", "芬达"] ] 2 print(lst) 3 4 lst = ["大阳哥", "赵明杰", "UZI", "赛利亚", "克伦特", "梅西", "哈登"] 5 print(lst[3]) 6 print(lst[1:3]) 7 print(lst[-1::-2]) # -1 - 从右往左. 1 : 一个一个取
二.列表的增删改查
1.增 append(),insert(),extend()
注意:list与str是不一样的,list是可以发生任意改变的,所以直接就在原来的对象想进行了操作
1 lst = ["麻花藤", "林林俊杰", "周润发", "周芷若"] 2 print(lst) 3 lst.append("wusir") 4 print(lst) 5 6 lst = [] 7 while True: 8 content = input("请输⼊入你要录⼊入的员⼯工信息, 输⼊入Q退出:") 9 if content.upper() == 'Q': 10 break 11 lst.append(content) 12 print(lst) 13 14 #insert() 插入 15 lst = ["麻花藤", "张德忠", "孔德福"] 16 lst.insert(1, "刘德华") # 在1的位置插⼊入刘德华. 原来的元素向后移动⼀一位 print(lst) 17 18 # 迭代添加 19 lst = ["王志文", "张一山", "苦海无涯"] 20 lst.extend(["麻花藤", "麻花不疼"]) 21 print(lst)
2.删 pop(),remove(),clear(),del()
1).pop()
1 lst = ["盖伦", "大白梨", "提莫", "大白梨"] 2 e = lst.pop() # 返回删除的元素, 删除最后一个 3 print(e) 4 print(lst) 5 e = lst.pop(1) # 根据给出的索引进行删除 6 print(e) 7 print(lst)
2).remove(元素)
1 lst = ["盖伦", "大白梨", "提莫", "大白梨"] 2 lst.remove("大白梨") 3 lst.remove("大白梨") 4 print(lst)
3).del() 删除,切片删除
1 lst = ["盖伦", "大白梨", "提莫", "大白梨"] 2 del lst[1:] 3 print(lst)
4).clear 清空
1 lst = ["盖伦", "大白梨", "提莫", "大白梨"] 2 lst.clear() 3 print(lst)
3.修改 索引 切片修改
1 # 索引修改 2 lst = ["太白", "五色", "银王", "日天"] 3 lst[0] = "太黑" 4 print(lst) 5 lst[2] = "银角大王" 6 print(lst) 7 8 # 切片修改 9 lst[1:3] = "马化腾" # 迭代修改 10 print(lst) 11 lst[1:3] = ["周杰伦", "他媳妇", "王力宏媳妇"] 12 print(lst)
4.查询 列表是一个可迭代对象,所以可以进行for循环
1 lst = ["舒克贝塔", "黑猫警长", "熊大熊二", "葫芦娃", "吴佩琪"] 2 for el in lst: # element 3 print(el)
5.其他操作
1 lst = ["王尼玛", "我记着你", "伟哥", "放学天台见","王尼玛", "王尼玛"] 2 print(len(lst)) 3 print(lst.count("王尼玛")) 4 5 lst = [1, 9, 18, 2 , 34, 88, 7, 9] 6 # lst = ["2王尼玛", "马化腾", "1马云", "马云云", "阿里巴巴", "1王尼玛"] 7 lst.sort() # 升序 8 lst.sort(reverse=True) # 倒序 9 print(lst)
三.列表的嵌套
采用降维操作,一层一层的看就好
1 lst = [1, "太白", "wusir", ["马虎疼", ["可口可乐"], "王剑林"]] 2 # 找到wusir 3 print(lst[2]) 4 # 找到太⽩白和wusir 5 print(lst[1:3]) 6 # 找到太⽩白的⽩白字 7 print(lst[1][1]) 8 # 将wusir拿到. 然后⾸首字⺟母⼤大写. 再扔回去 9 s = lst[2] 10 s = s.capitalize() 11 lst[2] = s 12 print(lst) 13 # 简写 14 lst[2] = lst[2].capitalize() 15 print(lst) 16 # 把太白换成太黑 17 lst[1] = lst[1].replace("白", "黑") 18 print(lst) 19 # 把马⻁虎疼换成马化疼 20 lst[3][0] = lst[3][0].replace("虎", "化") 21 print(lst[3][0]) 22 lst[3][1].append("雪碧") 23 print(lst)
四.元组和元组嵌套
元组:俗称不可变的列表,有被称为只读列表,元组也是python的基本数据类型之一,用小括号括起来,里的可以放任何数据类型的数据,查询可以,循环也可以,切片也可以,但不能修改
1.若元组里元素少于两个时,需要添加一个逗号,其类型才会是一个元组,否则其类型为里面的元素的类型
1 tu = (1,) 2 print(type(tu))
2.不可变的列表. 只读列表. 有索引和切片.
3.不可变的是它内部子元素. 如果子元素是列表. 列表中的元素是可以变的.
1 tu = (1, "太白", "李白", "太黑", "怎么黑") 2 print(tu) 3 print(tu[0]) 4 print(tu[2]) 5 print(tu[2:5]) # 切⽚片之后还是元组 6 # for循环遍历元组 7 for el in tu: 8 print(el) 9 # 尝试修改元组 10 # tu[1] = "⻢马⻁虎疼" # 报错 'tuple' object does not support item assignment 11 tu = (1, "哈哈", [], "呵呵") # 12 tu[2] = ["fdsaf"] # 这么改不不⾏行行 13 tu[2].append("麻花藤") # 可以改了了. 没报错 14 tu[2].append("王剑林") 15 print(tu)
元组的嵌套与列表相同,也有count(),index(),len()等方法
五.range
range可以帮我们获取到一组数据,通过for循环能够获取到这些数据
1 for num in range(10): 2 print(num) 3 4 for num in range(1, 10, 2): 5 print(num) 6 7 for num in range(10, 1, -2): # 反着来, 和切⽚片⼀一样 8 print(num