带有==的Python字符串比较

时间:2019-06-22 14:52:57

标签: python string

简单:==个字符串不起作用。

使用Typeform Webhook,提供用户问题的json列表和答案。在ID上键入问题和答案。

我事先知道什么是问题和答案ID,我现在想遍历答案。

对于每个问题ID,我都会遍历答案以获取匹配的ID,然后可以选择答案。不幸的是,尽管operator看起来一样,但等于运算符仍无法工作?

不太漂亮,但这是代码(只是一个小形式):

for answer in user_answers:
    print("answer: " + answer['field']['id'])
    print("name id: " + form_fields["name"])
    print("bio id: " + form_fields["bio"])
    print("interests id: " + form_fields["interests"])  

    if answer == form_fields["name"]:
        print("A")
    elif answer == form_fields["bio"]:
        print("B")
    elif answer == form_fields["interests"]:
        print("C")
    else:
        print("D")

输出

answer: aoQDJzkrAVGA
name id: aoQDJzkrAVGA
bio id: aOsexSfYNQ8B
interests id: l6QZGmgHPXEQ
D
answer: aOsexSfYNQ8B
name id: aoQDJzkrAVGA
bio id: aOsexSfYNQ8B
interests id: l6QZGmgHPXEQ
D
answer: l6QZGmgHPXEQ
name id: aoQDJzkrAVGA
bio id: aOsexSfYNQ8B
interests id: l6QZGmgHPXEQ
D

我们可以看到,第一遍答案和姓名ID匹配-应该弹出A,但是跳出默认子句并显示D。

优先考虑的是为什么它不起作用,但如果有更有效的方法来处理更长的表格,也很高兴?

1 个答案:

答案 0 :(得分:4)

您正在打印\textwidth,但是您正在将值与\documentclass{article} \usepackage{array} \usepackage{colortbl} \usepackage{multirow} \usepackage{hhline} \usepackage{calc} \usepackage{tabularx} \usepackage{threeparttable} \usepackage[paperwidth=16cm,paperheight=24cm, %showframe ]{geometry} %\usepackage[a4,frame,center]{crop} \usepackage{booktabs} \begin{document} \providecommand{\huxb}[2]{\arrayrulecolor[RGB]{#1}\global\arrayrulewidth=#2pt} \providecommand{\huxvb}[2]{\color[RGB]{#1}\vrule width #2pt} \providecommand{\huxtpad}[1]{\rule{0pt}{\baselineskip+#1}} \providecommand{\huxbpad}[1]{\rule[-#1]{0pt}{#1}} \begin{center} \begin{table}[h] \begin{threeparttable} \begin{tabularx}{\linewidth}{@{}Xrrrr@{}} \toprule & Model 1 & Model 2 & Model 3 & Model 4\\ \cmidrule{2-5} Variables\-Intervention\-Incumbent &&& -0.0115 & 0.1432\\ \cmidrule{2-5} BIC & 130.5091 & 126.4769 & 127.0720 & 139.1500\\ \bottomrule \end{tabularx} \end{threeparttable} \end{table} \end{center} \end{document} (字典本身)进行比较。这将永远不会返回True,因为您的字典不等于任何字符串。

您应该这样做:

answer['field']['id']

对于更通用的代码结构,您可以执行以下操作:

answer