gpt4 book ai didi

python - 奇怪的字典调用?

转载 作者:太空宇宙 更新时间:2023-11-04 01:12:35 25 4
gpt4 key购买 nike

我正在对另一位现在不在的同事的 python 脚本进行故障排除。 Python版本为2.6

我看到以下内容:

self.connections = {}
[......]
#example device name
device_name = 'fedora'
self.devices = [device_name]
for dev in self.devices:
if self.connections[dev,'is_linux']:
self.conn_ssh.switch_connection(dev)

有人可以向我解释一下 if 语句的计算结果吗?

我以前没在 python 中看到过这个...

最佳答案

字典可以使用元组作为键,这正是那里发生的事情:

>>> d = {(1, 2): 100, ('a', 'b', 'c'): 1000}
>>> d[1, 2]
100
>>> d[(1, 2)]
100
>>> d['a', 'b', 'c']
1000
>>> d[('a', 'b', 'c')]
1000

逗号分隔值被转换为 tuple :

>>> 1, 2
(1, 2)
>>> 'a', 'b', 'c'
('a', 'b', 'c')

明白了!,带有单个项目的元组用尾随逗号表示:

>>> t = 'a',  #or ('a',)
>>> type(t)
<type 'tuple'>
>>> t = ('a') #Not a tuple
>>> type(t)
<type 'str'>

关于python - 奇怪的字典调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26845067/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com