12 for循环

# ### for 循环 特指用于遍历容器类型数据
# 遍历 循环 迭代 都是一个意思 就是把所有的数据一个一个拿出来的过程
setvar = {"a","b","c","d"}
 
# while循环有局限性,不能遍历无序容器数据
'''
i = 0
length = 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] ]
# 找出33
res = lst[-1][2][-2]["f"]
print(res,"<======333=====>")
 
# 变量的解包操作
a,b = 1,2
c,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乘法表(作业)

  

原文地址:https://www.cnblogs.com/eliwen/p/10968482.html