我正在编写“编写一个带有两个列表的Python函数并且如果它们至少有一个共同成员则返回True”的问题。
代码:
first = [a,b,c,d,e,f]
second = [a,s,d,f,g,h]
for word1 in first:
for word2 in second:
if word1==word2:
print("success")
错误:
first = list[a,b,c,d,e,f]
NameError: name 'a' is not defined
我该如何解决这个问题?
答案 0 :(得分:2)
我假设你的列表是字符串列表。所以你忘记了引号:
first = ['a','b','c','d','e','f']
second = ['a','s','d','f','g','h']
for word1 in first:
for word2 in second:
if word1==word2:
print("success")
a
是变量名,而'a'
是字符串。实际上,这里a
未定义,因为您从未影响a
的任何值。
例如,如果您真的想要从现有的定义值创建列表,那么您可能已经完成了:
a=5
b=10
l=[a,b]
此处,l
将为[5,10]
答案 1 :(得分:1)
您需要为字符串使用引号。
first = ['a', 'b', 'c', 'd', 'e', 'f']
second = ['a', 's', 'd', 'f', 'g', 'h']
答案 2 :(得分:0)
未定义名称'a',因为您从未定义Python变量'a'。我认为你的意思是比较字符串数组,如:
first = ["a", "b", "c", "d", "e", "f"]
second = ["a", "s", "d", "f", "g", "h"]
for word1 in first:
for word2 in second:
if word1==word2:
print("success")