我怎样才能漂亮地处理这个肮脏的多次尝试代码
How can I beautifully deal with this dirty-multiple-try code
大家好,请帮我修改一下这段代码。
你可能知道我想做什么
有 keyError 并不重要,但无论如何我想尝试每个 del 代码。
它按我的预期工作,但我很确定有更漂亮的方法可以做到这一点。
try:
del response_json['sha1']
except:
print("keyError: Fail to delete sha1 hash key")
try:
del response_json['sha224']
except:
print("keyError: Fail to delete sha224 hash key")
try:
del response_json['sha256']
except:
print("keyError: Fail to delete sha256 hash key")
try:
del response_json['sha384']
except:
print("keyError: Fail to delete sha384 hash key")
try:
del response_json['sha512']
except:
print("keyError: Fail to delete sha512 hash key")
我可以按照下面的方式来做,但是如果第一个 del 代码引发错误,那么其余的代码将不会被执行,对吗?
try:
del response_json['sha1']
del response_json['sha224']
del response_json['sha256']
del response_json['sha384']
del response_json['sha512']
except:
print("keyError: Fail to delete hash key")
感谢您阅读本文
使用循环迭代值
lst = ['sha1','sha224','sha256','sha384','sha512']
for s in lst:
try:
del response_json[s]
except:
print(f"keyError: Fail to delete {s} hash key")
我认为 response_json 是一本字典,而不仅仅是一个列表。
我认为你需要一些更有活力和适应所有情况的东西。只需填充密钥并逐个删除每个 key-value 对。
此解决方案适用于您将来可能遇到的任何长度和任何字典。
json_keys = [ key for key in response_json]
for keys in json_keys:
try:
del response_json[keys]
except:
print(f"keyError: Fail to delete hash key")
大家好,请帮我修改一下这段代码。 你可能知道我想做什么 有 keyError 并不重要,但无论如何我想尝试每个 del 代码。 它按我的预期工作,但我很确定有更漂亮的方法可以做到这一点。
try:
del response_json['sha1']
except:
print("keyError: Fail to delete sha1 hash key")
try:
del response_json['sha224']
except:
print("keyError: Fail to delete sha224 hash key")
try:
del response_json['sha256']
except:
print("keyError: Fail to delete sha256 hash key")
try:
del response_json['sha384']
except:
print("keyError: Fail to delete sha384 hash key")
try:
del response_json['sha512']
except:
print("keyError: Fail to delete sha512 hash key")
我可以按照下面的方式来做,但是如果第一个 del 代码引发错误,那么其余的代码将不会被执行,对吗?
try:
del response_json['sha1']
del response_json['sha224']
del response_json['sha256']
del response_json['sha384']
del response_json['sha512']
except:
print("keyError: Fail to delete hash key")
感谢您阅读本文
使用循环迭代值
lst = ['sha1','sha224','sha256','sha384','sha512']
for s in lst:
try:
del response_json[s]
except:
print(f"keyError: Fail to delete {s} hash key")
我认为 response_json 是一本字典,而不仅仅是一个列表。 我认为你需要一些更有活力和适应所有情况的东西。只需填充密钥并逐个删除每个 key-value 对。 此解决方案适用于您将来可能遇到的任何长度和任何字典。
json_keys = [ key for key in response_json]
for keys in json_keys:
try:
del response_json[keys]
except:
print(f"keyError: Fail to delete hash key")