【python】尾部多写个逗号会把表达式变成 tuple
input_json1[“shotList”], ## 这里多了一个逗号
- 你的 generate_sequence_from_shots 希望拿到 List[dict],而不是 Tuple[List[dict],]。
input_json1 = song_shotlist_tianji.input_json1#input_shot_list = ( [ {...}, {...}, ... ], )input_shot_list = input_json1["shotList"], ## 这里多了一个逗号#在 Python 里,尾部多写个逗号会把表达式变成 tuple#它是一个 length=1 的 tuple,而不是一个直接包含多个 dict 的 list。print('input_shot_list len :',len(input_shot_list))
正确做法
- 去掉逗号,把 input_shot_list 定义成真正的 list:
- 去掉那行末尾的逗号,就能正确遍历每个分镜、不会再报 TypeError。
# 正确写法
input_shot_list = input_json1["shotList"]
print("input_shot_list len:", len(input_shot_list)) # 就会是 N 个分镜