【发布时间】:2021-09-06 06:03:13
【问题描述】:
我正在尝试更新 JSON 文件中的演员列表。我正在使用 for 循环来获取演员列表,但是当我尝试使用 if 子句更新列表时,输出没有改变。我想把“Alan Arkin”改成“John Doe”
我现在得到的输出是:"actors": ["Ethan Hawke", "Uma Thurman", "Alan Arkin", "Loren Dean"]
期望的输出是:“actors”:[“Ethan Hawke”、“Uma Thurman”、“John Doe”、“Loren Dean”]
这是“movie_1.txt”文件中的内容
{ “标题”:“加塔卡”, “发布年份”:1997 年, “真棒”:是的, “won_oscar”:假的, “演员”:[“伊桑·霍克”、“乌玛·瑟曼”、“艾伦·阿金”、“洛伦·迪恩”]、 “预算”:空, “学分”:{ “导演”:“安德鲁·尼科尔”, “作家”:“安德鲁·尼科尔”, “作曲家”:“迈克尔·尼曼”, “电影摄影师”:“Slawomir Idziak” } }
我的代码现在的样子。我的问题是带有嵌套 if 子句的 for 循环,该子句获取列表中的名称。遍历列表的 for 循环和 if 子句应该抓取“Alan Arkin”的一个实例并将其更改为“John Doe”
path = 'movie_1.txt'
import json
json_file = open(path, encoding="utf-8")
movie = json.load(json_file)
json_file.close()
print(movie['actors']) # prints unchanged list
for x in movie["actors"]:
if x == 'Alan Arkin':
x = 'John Doe'
print(movie['actors']) # prints changed list
【问题讨论】: