gpt4 book ai didi

python - 如何动态追加到字典中的数组?

转载 作者:行者123 更新时间:2023-12-01 03:35:49 24 4
gpt4 key购买 nike

这花了我一天的时间来尝试和犯错。我试图在搜索中保留查询及其各自匹配项的字典。我的问题是可能有一场或多场比赛。我当前的解决方案是:

match5[query_site] 已经有第一个匹配项,但如果找到另一个匹配项,它将使用下面的代码附加它。

temp5=[]  #temporary variable to create array              
if isinstance(match5[query_site],list): #check if already a list
temp5.extend(match5[query_site])
temp5.append(match_site)
else:
temp5.append(match5[query_site])
match5[query_site]=temp5 #add new location

该 if 语句实际上是为了防止扩展将我的 str 元素转换为字母数组。如果我尝试将第一个匹配项初始化为单个元素数组,如果我尝试直接追加,则会得到 None 。我觉得应该有一个更Pythonic的方法来实现这一点,而无需临时变量和条件语句。

更新:这是我的输出示例

5'flank: ['8_73793824', '6_133347883', '4_167491131', '18_535703', '14_48370386']3'flank: X_11731384

我的“5'flank”有 5 场比赛,而我的“3'flank”只有 1 场比赛。

最佳答案

那么这个呢:

if query_site not in match5:  # here for the first time
match5[query_site] = [match_site]
elif isinstance(match5[query_site], str): # was already here, a single occurrence
match5[query_site] = [match5[query_site], match_site] # make it a list of strings
else: # already a list, so just append
match5[query_site].append(match_site)

关于python - 如何动态追加到字典中的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40408862/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com