我是python的新手。我有一个包含字符串的列表,后者又用于Odoo中的选择字段,并根据字符串的内容,将一个数字分配给另一个变量。我想遍历列表,如果字符串的值匹配我要查找的内容,那么然后将一个整数分配给number_value变量。我已经尝试了几种不同的方法来实现这一目标,但没有成功。
这是我想要完成的事情:
stringlist = [('a','abc'), ('b','def'), ('c','ghi')]
number_value = 0 #Initialize variable to 0.
for x in stringlist:
if x in stringlist == 'abc':
number_value = 1
elif x in stringlist == 'def':
number_value = 2
else:
number_value = 3
我尝试过枚举,并且同时使用了for循环和while循环,但我无法让它工作。任何建议都会有所帮助。
感谢。
答案 0 :(得分:0)
您的比较形式不正确。您正在检查元组(不可变列表)是否在stringlist
等于abc
或def
。您想要提取元组中的第二个元素,并检查它是否等于abc
或def
。 for循环上下文中的x
是每个元组。
stringlist = [('a', 'abc'), ('b', 'def'), ('c', 'ghi')]
number_value = 0 # Initialize variable to 0.
for x in stringlist:
if x[1] == 'abc':
number_value = 1
elif x[1] == 'def':
number_value = 2
else:
number_value = 3
print number_value