dict 包含列表 - 列表理解
dict holds list - list comprehension
我需要收集条件元素列表以进行数据框查询,
我设法创建如下:
column = ['TotalCharges', 'gender']
equal = ['>', '==']
condition = [ 20, 'F']
query = ' & '.join(f'{i} {j} {repr(k)}' for i, j, k in zip(column, equal, condition))
所以查询输出:
TotalCharges > 20 & gender == 'F'
哪个是必需的和正确的,
我很好奇如何使用字典保留列表来实现同样的事情,
意义
df_query_params = {"column":[],"equal":[],"condition":[]}
df_query_params["column"] = ['TotalCharges', 'gender']
df_query_params["equal"] = [ '>', '==']
df_query_params["condition"] = [20, 'F']
我尝试了类似的方法,df_query_params.keys()
和 df_query_params.items()
但它不起作用,
列表理解让我有点迷失的事情
是我不知道如何“逐步”添加更多嵌套元素,
好吧,如果您只想使用对给定字典的理解进行相同的查询,一种方法是使用 zip 遍历字典的值,并以类似的方式加入。
>>> ' & '.join(f'{i} {j} {repr(k)}' for i,j,k in zip(*df_query_params.values()))
"TotalCharges > 20 & gender == 'F'"
你只需要换掉裸名。
query = ' & '.join(
f'{i} {j} {repr(k)}'
for i, j, k in
zip(
df_query_params["column"],
df_query_params["equal"],
df_query_params["condition"])
)
我需要收集条件元素列表以进行数据框查询, 我设法创建如下:
column = ['TotalCharges', 'gender']
equal = ['>', '==']
condition = [ 20, 'F']
query = ' & '.join(f'{i} {j} {repr(k)}' for i, j, k in zip(column, equal, condition))
所以查询输出:
TotalCharges > 20 & gender == 'F'
哪个是必需的和正确的,
我很好奇如何使用字典保留列表来实现同样的事情, 意义
df_query_params = {"column":[],"equal":[],"condition":[]}
df_query_params["column"] = ['TotalCharges', 'gender']
df_query_params["equal"] = [ '>', '==']
df_query_params["condition"] = [20, 'F']
我尝试了类似的方法,df_query_params.keys()
和 df_query_params.items()
但它不起作用,
列表理解让我有点迷失的事情 是我不知道如何“逐步”添加更多嵌套元素,
好吧,如果您只想使用对给定字典的理解进行相同的查询,一种方法是使用 zip 遍历字典的值,并以类似的方式加入。
>>> ' & '.join(f'{i} {j} {repr(k)}' for i,j,k in zip(*df_query_params.values()))
"TotalCharges > 20 & gender == 'F'"
你只需要换掉裸名。
query = ' & '.join(
f'{i} {j} {repr(k)}'
for i, j, k in
zip(
df_query_params["column"],
df_query_params["equal"],
df_query_params["condition"])
)