# ### for 循环 特指用于遍历容器类型数据# 遍历 循环 迭代 都是一个意思 就是把所有的数据一个一个拿出来的过程setvar = {"a","b","c","d"} # while循环有局限性,不能遍历无序容器数据'''i = 0length = len(setvar)while i<=length: print(setvar[i]) i+=1'''# for 循环应用而生'''for i in 可迭代性数据:把可迭代性数据中的值一个一个拿出啦赋值给i到最后没有值可以拿了,循环终止.'''# 遍历字符串strvar = "今天我最棒"for i in strvar: print(i) # 遍历列表listvar = [1,2,3,4,5]for i in listvar: print(i) # 遍历元组print("<==>")tuplevar = (6,7,8,7)for i in tuplevar: print(i)# 遍历集合for i in setvar: print(i) # 遍历字典# 在遍历字典的时,默认遍历的是键,不是值dictvar = {'a':1,'b':2,'c':3}for i in dictvar: print(i) # 二级容器lst = [1,2,3,(4,5,6)]# res = lst[-1]# res = res[-1]# print(res,"<22>")print(lst[-1][-1],"<33>")# 二级列表listvar = [4,5,6,[77,88]] # 二级元组tuplevar = (1,2,3,(5,6,7)) # 二级字典dic = {"a":1,"b":{"c":1,"d":2}}print(dic["b"]["d"],"<=33==>") # 二级集合 : 集合中的数据必须是可哈希的数据(不可变的数据)set1 = {1,2,3,4,(1,2,3)} # 四级容器lst = [1,2,3,4, [5,6,(11,123,{"c":22,"f":33},34),7,8] ]# 找出33res = lst[-1][2][-2]["f"]print(res,"<======333=====>") # 变量的解包操作a,b = 1,2c,d = [5,6]print(a,b,c,d,"<444>") # 遍历等长的二级容器,(里面的元素是容器数据,容器里面的元素个数相同)listvar =[ ["王健林","王思聪"], ["马云","马化腾"],["王宝强","马蓉"]]# a,b = ["王健林","王思聪"] # 变量的解包操作for a,b in listvar: print(a,b) # 不等长的二级容器 (老老实实一层一层遍历)listvar =[ ["王健林","王思聪"], ["马云","马化腾"],["王宝强"]]for i in listvar: for j in i: print(j) # range的用法 返回一个可迭代的对象'''range(start,end,step)start 代表开始值end 代表结束值 但是高位取不到,取到之前的一个值step 步长'''# 只有一个参数的情况:for i in range(8): # 0 ~7 print(i)# 有2个参数的情况for i in range(5,8): # 5 6 7 print(i) # 有3个参数逇情况 (正序)for i in range(1,11,3):# print(i)print("<==>")for i in range(9,0,-1): print(i) # 用for 来 改写99乘法表(作业)