在Python字典中操作列表

2024-06-24 13:52:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这个JSON文件:

{"809849410283372605": {"wallet": 0, "submitted": [""], "bank": 0}}

我正在尝试将字符串放入[""]

我试过这个:

users[str(user.id)]["submitted"] + 'earnings'
with open("mainbank.json",'w') as f:
   json.dump(users,f)

但它从来都不起作用


Tags: 文件字符串idjsonwithopenusersbank
3条回答

+的字符串连接只会创建一个新字符串,但不会将其保存在任何位置。我想,你要找的是append这个列表:

users[str(user.id)]["submitted"].append("earnings")

或者,如果要替换空值列表,也可以这样做

# replace list with just a string
users[str(user.id)]["submitted"] = "earnings"

# replace list with other list
users[str(user.id)]["submitted"] = ["earnings"]

如果您只是想将一个项目添加到列表的该部分,请使用.append(),如下所示

users = {"809849410283372605": {"wallet": 0, "submitted": [""], "bank": 0}}
users["809849410283372605"]['submitted'].append("earnings")
print(users)
>{'809849410283372605': {'wallet': 0, 'submitted': ['', 'earnings'], 'bank': 0}}

如果要将空引号更改为其他内容,请使用

users = {"809849410283372605": {"wallet": 0, "submitted": [""], "bank": 0}}
users["809849410283372605"]['submitted'][0] = "earnings"
print(users)
{'809849410283372605': {'wallet': 0, 'submitted': ['earnings'], 'bank': 0}}

您的实际代码

users[str(user.id)]["submitted"] + 'earnings'
with open("mainbank.json",'w') as f:
   json.dump(users,f)

不会工作,因为它没有更新任何内容。试一试

# I suppose the + sign is to update the empty string ""
users[str(user.id)]["submitted"].append('earnings')
with open("mainbank.json",'w') as f:
   json.dump(users,f)

如果您碰巧需要将提交的信息作为列表填写,请尝试:

# with an empty list
{"809849410283372605": {"wallet": 0, "submitted": [], "bank": 0}}

users[str(user.id)]["submitted"].append('earnings')
with open("mainbank.json",'w') as f:
   json.dump(users,f)

如果需要更改""空字符串的值,只需使用:

users[str(user.id)]["submitted"][0] = 'earnings'
with open("mainbank.json",'w') as f:
   json.dump(users,f)

相关问题 更多 >