我试图比较一个列表中的两个项,它们在字典中起作用,但它一直转换为数字.int64我不明白为什么。在
我只使用第一个循环和第二个循环测试了“valores”类型。一开始我得到了一份名单,但第二份我得到了数字.int64. 在
import pandas as pd
import pprint
.
.
.
questionario = {'a': [1, 2], 'b': [3, 4], 'c': [5, 6]}
for variavel, valores in questionario.items():
for q_passado, q_atual in valores:
if q_passado and q_atual != 0:
if q_atual / q_passado > 0.5:
print(variavel, q_passado, q_atual)
我希望输出类似“12”之类的东西
对于
valores
(for q_passado, q_atual in valores
),不需要for循环,因为它是一个由两个元素组成的列表,可以通过表达式valores[0]
和valores[1]
访问。您只需更改为:你写错了!=0条件。你需要把这些条件分开,否则运算符的优先级会扰乱逻辑。在
您可以使用“理解”将其精简为一行:
输出是:
^{pr2}$说明:
这将从字典中提取键值对
^{4}$这会将您在循环中编写的条件捆绑在一起。在
{cda}只满足这些条件。在
最后将这些值包装到列表中:
不能将变量分配给列表。相反,请逐个指定变量。在
相关问题 更多 >
编程相关推荐