为什么会输出这个结果?

来源:8-8 关键字可变参数

颜sir

2017-11-23

def city_temp(**para):
    for c in para:
        print(c)


city_temp(bj="32c", xm="23c", sh="31c")

课程里的输出结果是:

bj
xm
sh

好奇怪,为什么会出现这种结果?

c不是相当于是字典里的数据了吗,为什么不会把key和value一起输出呢?

当直接打印全部字典的时候,明明key和value都一起出现了的啊,比如:

def city_temp(**para):
    print(para)


city_temp(bj="32c", xm="23c", sh="31c")

输出结果就是:

{'bj': '32c', 'xm': '23c', 'sh': '31c'}

我知道肯定不该这么理解,但我的这种思考方式是哪个地方出现的问题呢?

提前谢谢七月老师解答。:)

写回答

2回答

慕Lynn

2017-11-24

因为单纯遍历para只会遍历key,如果两个都要打出来,需要for key,value in para.items()

0
2
慕Lynn
我是这么认为的。第一个问题没有逻辑随机遍历的,因此每次遍历顺序都不一样的;第二个问题,直接遍历只能遍历访问的key,而不能看到value的,举个例子,你可以理解value为字典的注释,单纯从目录遍历字典,只能看到先key字,而不能看到注释value,需要再做才操作才能看到value对吧,另一个理解角度是,key和value是两个值,所以也要用两个值对应承接,
2017-11-24
共2条回复

慕Lynn

2017-11-24

因为单纯遍历para只会遍历key,如果两个都要打出来,需要for key,value in para.items()

0
0

Python3.8系统入门+进阶 (程序员必备第二语言)

语法精讲/配套练习+思考题/原生爬虫实战

14446 学习 · 4438 问题

查看课程