2017-01-16 28 views
-6

我声明了这两个字典。在字典中使用列表时发生错误

#!/usr/bin/python 

switches_path = {'s1': [], 's2': [], 's3': [], 's4': []} 
adjs = {'s1': [s2, s4], 's2': [s1, s3], 's3': [s2, s4], 's4': [s1, s3]} 

我得到这个错误:

Traceback (most recent call last): 
    File "./t.py", line 7, in <module> 
    adjs = {'s1': [s2, s4], 's2': [s1, s3], 's3': [s2, s4], 's4': [s1, s3]} 
NameError: name 's2' is not defined 

我不明白什么是错在's2'当它说not defined

+4

是的,事实并非如此。为什么这是令人惊讶的? – jonrsharpe

+3

你预计's2'究竟是什么?你知道你正在用字符串键创建一个字典吗? – miradulo

+2

's2'是什么?请注意,您并未将它放在引号等之间,也没有用该名称定义变量。 –

回答

1

我不确定你在那里试图做什么,但确实s2没有被定义为一个变量。 's2'仅作为你的两个字典的关键字使用,这与定义一个变量不同。

3

大概你的意思是?

switches_path = {'s1': [], 's2': [], 's3': [], 's4': []} 
adjs = {'s1': ['s2', 's4'], 's2': ['s1', 's3'], 's3': ['s2', 's4'], 's4': ['s1', 's3']} 
+0

哦..你是对的! – Kris