簡體   English   中英

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"])
    )

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM