''没有列表错误

时间:2015-02-25 20:50:14

标签: python sql list parsing indexing

这似乎是一个重复的问题,但请耐心等待。其他帖子都没有解决我的问题。

我有一个要解析的表中的字段列表。这是一个例子:

fields = ['username', 'password', 'salt']

然后我有另一个列表,其中包含表格的所有字段:

pattern = ['uid', 'username', 'password', 'salt', 'loginkey', 'email']

另一个包含值的列表:

values = ['1', 'example', 'eladhksefhskf', 'aeaed', 'awdlkahflhef', 'awd@awd.com']

我的工作是:

for x in field:
    index = pattern.index(x)
    string += values[index] + ':'

上述代码适用于某些数据库,但不适用于其他数据库。与其他人一起,它给了我这个:

ValueError:'password'不在列表中(模式)

如果这么清楚的话。

帮助?

2 个答案:

答案 0 :(得分:1)

我不确定问题是什么,但更好的方法是通过将两个列表压缩在一起来创建一个字典:

values_dict = dict(zip(pattern, values))

现在你可以做到:

for field in fields:
    print values_dict[field]

答案 1 :(得分:-1)

你确定"密码"内部模式列表是"密码"不是"密码"或"密码"