如何在 Python 中将列表名称存储在列表中?
我有六个列表需要合并成一个大列表。如果六个列表中的任何一个列表为空,那么我想在这个最终的大列表中添加空括号“()”以指示一个空列表。
这是我尝试过的方法,但它不起作用,因为我将列表名称作为字符串存储在 masterList 中,
masterList=["primaryP","primaryG","primaryAin","primaryAout","primaryDin","primaryDout"]
primaryP=['VDD']
primaryG=['VSS']
primaryAin=[]
primaryAout=[]
primaryDin=['A', 'X', 'M', 'SEL']
primaryDout=['Y']
for item in masterList:
if item==[] :
item=["()"]
else:
item=' '.join(item)
item=[item]
CSRPGPrimary=primaryP+primaryG+primaryAin+primaryAout+primaryDin+primaryDout
print("CSRPGPrimary=", CSRPGPrimary)
这会产生以下输出:
('CSRPGPrimary=', '//PG PRIMARY ("VDD") ("VSS") ("A") ("X") ("M") ("SEL") ("Y")')
但是,我想要的输出是
('CSRPGPrimary=', '//PG PRIMARY ("VDD") ("VSS") () () ("A X M SEL") ("Y")'
有什么输入吗?
请您参考如下方法:
你很接近,这就是你想要的:
masterList=[primaryP, primaryG, primaryAin, primaryAout, primaryDin, primaryDout]
CSRPGPrimary = ['("'+' '.join(item)+'")' if item else '()' for item in masterList]
请注意,在您的 for 循环中,修改 item 不会修改列表内容,它只是重新分配引用。 (item 指向列表的元素,然后你只需让它指向其他东西,它对列表本身没有任何作用)
