为了账号安全,请及时绑定邮箱和手机立即绑定

Python dict.keys() 有密钥但表现得好像没有它

Python dict.keys() 有密钥但表现得好像没有它

qq_遁去的一_1 2023-12-29 16:06:21
我要替换 Excel 中的大量值,因此我有一个包含数百个键的字典,但是当键具有斜杠 ( / ) 时,它不会输入 if。正如你所看到的,我尝试使用 doble、//,并在之前添加 r 使其成为文字。当我在 dict.keys() 中执行 is ("stringwith /slash") 时,我得到一个 True,但是当我运行程序时,它们会被跳过,就好像它们不存在一样。import xlwtimport xlrddictForReplacement={}for i in range(0,101):    x = "Estigfend" + str(i) + str(i)+ " puntos de 100"    dictForReplacement[x] = str(i)    x = "Estigfend" + str(i) + str(i)+ " puntos de 100Completada con retraso"    dictForReplacement[x] = str(i)    x = "Estigfend" + str(i) + str(i)+ " puntos de 100Presentada de nuevo"    dictForReplacement[x] = str(i)    x = "Estigfend" + str(i) + str(i)+ " puntos de 100Borrador"    dictForReplacement[x] = str(i)        x = "Estigfend" + str(i) + str(i)+ " puntos de 100Sin entregar"    dictForReplacement[x] = str(i)        x = "Estigfend" + str(i)+"/100" + str(i)+ " puntos de 100Sin entregar"    dictForReplacement[x] = str(i)        x = "Estigfend" + str(i)+"/100" + str(i)+ " puntos de 100"    dictForReplacement[x] = str(i)  dictForReplacement[r"EstigfendSin entregar"] = "NP"dictForReplacement["EstigfendTarea asignada"] = "TA"#here is the problem, the number was in case I founded the solutiondictForReplacement[r"Estigfend /100Sin calificación"] = "NP 00"dictForReplacement[r"Estigfend /100Sin calificación"] = "NC 0"dictForReplacement["Estigfend //100Sin calificación"] = "NC 1"dictForReplacement[r'Estigfend //100Sin calificaciónCompletada con retraso'] = "NC 2"dictForReplacement['Estigfend /100Sin calificaciónCompletada con retraso'] = "NC 3"dictForReplacement[r"Estigfend /100Sin calificaciónCompletada con retraso"] = "NC 4"dictForReplacement[r"Estigfend /100Sin calificaciónBorrador"] = "NC 5"dictForReplacement["Estigfend /100Sin calificación"] = "NP" 这是我的代码,没有 Ktinder,因为它是一个 GUI,我知道这里不需要它所以现在你也可以运行它。edit4:接下来的3行错误我不知道如何在这里添加Excel文件,最大的问题是带有/的字符串,所以只需创建一个页面并有一个单元格:Estigfend /100Sin calificaciónedit2:有人说Excel可能正在添加其他东西,我会调查一下
查看完整描述

1 回答

?
青春有我

TA贡献1784条经验 获得超8个赞

那是隐形人物!

我的错误, dict.keys() 显然工作得很好,但是当打印没有键的值时(当我知道我有所有可能的选项作为键时),我看到它们看起来就像我的键,但它们不是由于看不见的字符,情况不一样!

我更改了部分代码以获取所有错误值的列表,使用 else,然后在此列表的 for 中应用 print(repr(value)) 来查看不可见字符

并看到了这个:

https://img1.sycdn.imooc.com/658e7e290001e4de05120282.jpg

所以我的 Excel 很奇怪,这做到了

dictForReplacement[r"Estigfend\xa0/100Sin calificación"] = "NP"


查看完整回答
反对 回复 2023-12-29
  • 1 回答
  • 0 关注
  • 48 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信