Discuss / Python / print(key)疑问

print(key)疑问

Topic source

大邢小凡

#1 Created at ... [Delete] [Delete and Lock User]
d={'a':1,'b':2,'c':3}
for value in d.values():
    print(key)
    print(value)

为什么三次print(key)的结果都是a?求老师解答

大邢小凡

#2 Created at ... [Delete] [Delete and Lock User]

追问: 每次运行结果随机,是a a a或b b b或c c c

Caesar-Cheng

#3 Created at ... [Delete] [Delete and Lock User]

我复制你的代码正常随机输出啊

d={'a':1,'b':2,'c':3}
for value in d.values():
    print(value)
D:\Python_workspace>python for.py
3
1
2

D:\Python_workspace>python for.py
1
2
3

D:\Python_workspace>python for.py
3
1
2

D:\Python_workspace>python for.py
3
2
1

D:\Python_workspace>

大邢小凡

#4 Created at ... [Delete] [Delete and Lock User]

print(value)会正常输出, print(key)就不正常了

koo4

#5 Created at ... [Delete] [Delete and Lock User]

你这个段代码根本就没有给key赋值,你新建一个文件,把代码粘进去执行,会提示key没有定义。你之所以能看到key一直是a,肯定是你这段代码前面还有其他的内容,那些代码里面肯定有定义并赋值key的内容。

koo4

#6 Created at ... [Delete] [Delete and Lock User]

对于会随机a b c,是因为老师前面的代码里有一段是用for in循环遍历dict,因为dict是无序的,所以最后的一个key有可能是a b c中随机的一个。又因为你的代码,没有新赋值给key,所以他输出了前面的key指向的值。

曲靖-oklutu

#7 Created at ... [Delete] [Delete and Lock User]

是要这个意思吧

d={'a':1,'b':2,'c':3}
for key , value in d.items():
    print (key,value )

请问你print(key)这个代码?key你什么时候赋值了?不要搞混淆了好不好?

koo4 同学说的对!你这个新建个文件就跑不了!key根本就没有初始化定义!

d.items


  • 1

Reply