参考:
https://docs.python.org/3/tutorial/datastructures.html#list-comprehensions
一列表
它是以[ ]括起来, 每个元素⽤用' , '隔开⽽而且可以存放各种数据类型
lst=["haha","你好","我叫",["9","3","百度"],("我是","数组")] print(lst) # # 列表的索引和切片
索引 lst=["卡卡","你好","我是","气温","天气"] print(lst[1]) print(lst[4]) lst[3]="下雨" #列表第一层是可一改变的此处替换 气温 print(lst)
列表的切片 lst=["麻花疼","马芸","刘德华","向华强"] print(lst[0:3]) print(lst[:])
2.列表的增删减查
(2.1)增:s.append
1. 新增 # lst=["刘德华","环境" ,"同一天"] # # # # lst.append("四大") # # print(lst) '''lst=[] 'while True: content=input("请输入员工信息,输入Q退出:") if content.upper()=="q": break lst.append(content) print(lst)''' lst=["刘德华","环境" ,"同一天"] lst.insert(1,"ui") print(lst) # lst=["刘德华","环境" ,"同一天"] # lst.insert(2,"为") #插入 肯能会导致元素移动 # print(lst) # # lst=["刘德华","环境" ,"同一天"] # lst.extend(["欲是","aw"]) #插入句子后面
lst.extend("qwert")#每个元素添加 # print(lst)
简单总结: lst.append() # 追加,默认是最后边,里面可以跟参数的
lst.insert(,):插入,指定位置插入 括号里面可以写两个数,第一个是要插入的位置(索引位置)是要插入的元素.
lst.extend() 括号里面必须是一个可迭代对象,并且迭代它插入到后面
+ : 把两个列表合并起来.比如(lst+lst1)
2.2删除
pop remove clear del 四种方式
删除 pop, remove,clear,del # lst=["语言","请问","天涯人","同位语"] # lst.pop(2) #默认删除最后一个,也可以指定删除索引
lst.pop(2) # 可以指定元素删除(索引)
# print(lst)
# # lst=["语言","请问","天涯人","同位语"]
# lst.remove("天涯人")# 指定删除
# print(lst)
# lst=["语言","请问","天涯人","同位语"]
# lst.clear() #清除全部
# print(lst)
# lst=["语言","请问","天涯人","同位语","儿童"] #
# #del lst[::-2]
# print(lst)
小结:
lst.pop() #弹出 默认删除的是最后一个,也可以指定索引删除.
lst.remove () # 指定元素删除
lst.clear() # 清空
del 和 del lst[] # 前者删除整个列表后者 指定索引删除对应元素.
2.3修改
#3 修改 #lst=["taibai","杨爱华","太黑","太红","太狼"] #lst[2]="太阳" #直接索引修改 #print(lst) #lst[0:4:2]=["太小","太咯"] #也可以切片修 #print(lst)
小结:
lst[3]='好' # 索引修改
lst[0:5]='wusir' # 把可迭代对像打开 依次添加.
2.4查询
列表是个可跌代对象所以可以进行for循环
查询 for lst=["taibai","杨爱华","太黑","太红","太狼"] for el in (lst): print(el)
小结: lst[] # 索引 查询
for i in lst" : # for循环查询
3.操作
操作 #lst=["taibai","杨爱华","太黑","太红","太狼","taibai"] #print(lst.count("taibai")) #查询太白出现的次数 lst=[2,55,12,6,78] #lst.sort()#默认排序 #print(lst) # lst.sort()#从小到大 # print(lst) # lst.sort(reverse=True)#从大到小 # print(lst) # lst.reverse() #翻转从后到钱 # print(lst) #print(len(lst)) # 求长度, 和字符串一样
s=lst.count('环境') # 计数 判断括号内的内容在列表里出现了几次
print(s)
...
3.1列表的嵌套
列表的嵌套 lst=[1,"太黑","ab",["安倍","太阳",["马芸","马上"],"太狼"],"大响"] # print(lst[2]) #找到ab # print(lst[1:4]) # #找到ab的b # print(lst[2][1]) # #将ab拿到然后首字母大写在放回去range # a=lst[2] # s=a.capitalize() #拿出来 # lst[2]=s 使他等于原来的 # print(lst) # # lst = [1, "太⽩白", "wusir", ["⻢马⻁虎疼", ["可⼝口可乐"], "王剑林林"]] # s = lst[2] # a = s.capitalize()#首字母大写 # lst[2] = a # print(lst)
4.元组(tuple)
不可变的列表. 只读列表, 由小括号表示. 第一层不可变.
空元祖表示为: tuple()
tu=(1,"太黑","ab",["安倍","太阳",["马芸","马上"],"太狼"],"大响") # print(tu) # print(tu[0]) # print(tu[2:3])#切片 #for循环遍历元组 for el in tu: print(el)
小括号在计算机里还表示算数优先级 # print((8+3)*7) # tu = (1,) # 加了逗号, 就是元组了 # tu = ("哈哈","呵呵","嘿嘿",) # print(type(tu))
tu = tuple() # 空元组
元组也有索引和切片 和列表一样和字符串也一样 # tu = ("iphone", "nokia", "砸核桃", "Lenovo", "HTC", "Honor") # print(tu[-1]) # print(tu[1:3]) # print(tu[1:5:2])
不可变指的是第一层元素不可变, 第二层取决于你的数据类型
# tu = (1, 2, 5, ["胡辣汤", "滋滋冒油的大猪蹄子", "酱猪肘", "香喷喷的米饭", "脆皮炸鸡"])
# tu[3].append("锅包肉")
# print(tu)
5.range
可以帮我们获取一组数据,通过for循环获取这些数据
#range (边界) # # for i in range(10): #从0到9 不包括10 # print(i) # # for i in range(2,7): #从二到七但没有7 # print(i) #for i in range(5,10,2):#从二到七,步长是2 # print(i) #range(边界) 从0到这个边界 # range(start, end) 从start到end结束. 不能到end # range(start, end, step) 从start到end. 步长是step lst=["卡卡","你好","我是","气温","天气"] # for el in lst: # 这样循环. 没有索引 # print(el) # for i in range(len(lst)):# 有索引了 # print(lst[i]) tu = ("首页", "登录", "注册", "购物", "退出") for i in range(len(tu)): print(i,tu[i])