【发布时间】:2021-10-01 02:13:22
【问题描述】:
我需要根据来自我的 UI 的数据动态创建变量。
示例 JSON: 我将从 UI 获取的一些示例 JSON 用于访问 python 代码。
data_json = {'key1':'value1','key2':'value2','key3':['abc','def']}
data_json = {'key1':'value2','key2':'value8','key3':['abc','def','ghi','jklmn']}
data_json = {'key1':'value3','key2':'value9','key3':['abc']}
data_json = {'key1':'value4','key2':'value2','key3':['abc','def','xyz']}
data_json = {'key1':'value6','key2':'value2','key3':['abc','def']}
我有 JSON 格式的数据,其中“key3”值的长度每次都会不断变化。 我必须在单独的变量中捕获这些值,并且稍后必须在其他函数中使用它们。
如果我通过第一个 data_json 的 if 条件的第一个块将起作用并将其分配给变量。如果我通过第二个 data_json 第二个块将定义变量。
Python:
secret = data_json['key1']
if secret in ['value1','value6']:
first_value = data_json['key3'][0]
second_value = data_json['key3'][1]
if secret in ['value2']:
first_value = data_json['key3'][0]
second_value = data_json['key3'][1]
third_value = data_json['key3'][2]
fourth_value = data_json]'key3'][3]
if secret in ['value3']:
first_value = data_json['key3'][0]
if secret in ['value4']:
first_value = data_json['key3'][0]
second_value = data_json['key3'][1]
third_value = data_json['key3'][2]
print("Value in first:%s",first_value)
print("Value in second :%s",second_value)
print("Value in third:%s",third_value)
我正在使用条件来捕获这些变量。上面的代码工作正常。但我必须避免使用 if 条件。有什么方法可以动态定义变量,以便我以后可以在相同的函数中使用它?
【问题讨论】:
-
您能否展示稍后将使用这些变量的“其他函数”之一?那么答案可能更好地提供它所需要的功能。
-
decrypt_list = {"cred1":first_value,"cred2":second_value} function_call = decrypt(decrypt_list) 我必须将它分配给一个变量并需要将它作为参数传递给函数
-
我仍然没有真正看到您要做什么,但看起来您想将值放入将传递给函数的 dict 中。字典(@kndofded 建议)让您为每个不同的值命名,而在列表中(@Moosa Saadat 建议)中的项目只有位置,而不是列表中的名称。很可能您的问题可以通过 dict 和 list 变量的某种组合来解决,但如果不了解它的去向,就很难更具体。