Я всегда получаю дубликаты переменной pp в списке pplist.ppli, потому что python просто хранит ссылки на переменные. См. ниже фрагмент кода. я не могу понять, как сохранить значение pp в списке pplist.ppli.
import XYZ
paths = [500,1000,2000,3000,4000,5000,6000,7000,8000]
seeds = [1,125000,250000,375000,500000,625000,750000,875000,1000000]
pplist = XYZ.get_pplist({"expression":"name = Standard"})
for seed in seeds:
for path in paths:
pp = pplist.ppli[0]
rule = [r for r in pp.someList if r.product_Code == "TEXT"]
rule[0].Parameters["Seed"].nonTabularValue = seed
rule[0].Parameters["Paths"].nonTabularValue = path
pp.someList.insert(0,rule[0])
pp.name = "Seed"+str(seed)+"Paths"+str(path)
pplist.ppli.append(pp)
XYZ.set_pplist(pplist)






Что вам нужно, так это copy данных (в данном случае dict):
import copy
...
for seed in seeds:
for path in paths:
pp = copy.copy(pplist.ppli[0]) ...
Если у вас есть внутренние ссылки, вам, возможно, придется рассмотреть возможность использования deepcopy.
Потрясающе, спасибо. Это сделало это для меня. Хранение только ссылок застало меня врасплох. Кажется, это довольно удобная библиотека.
В Python нет концепции «передачи по значению». Вам нужно будет сделать копию
pp-- что это за объект? Здесь может помочь пакет stdlibcopydocs.python.org/3/library/copy.html