我有一個由某些類的對象,並在其尺寸不同的元組的列表:Python列表:只持有對象中元獲取字符串表示屬性
my_list = [(obj1, obj2), (obj3, obj1), (obj4, obj1), (obj2,),...]
所有這些對象具有屬性label
,該屬性的類型爲string
,並且保留一個對象標籤,例如'object_1'
,'object_2'
等等。
現在我想提取持有的屬性值的元組的字符串表示(標籤),例如:
my_new_list = ['(object_1, object_2)', '(object_3, object_1)', '(object_4, object_1)', '(object_2,)', ...]
我已經從對象列表如何extract a list of attributes,擡頭以及如何convert a tuple to string可能會用一些嵌套for循環實現我的目標。但我陷入了一些凌亂的代碼在這裏..
但是有沒有一些很好的pythonic方式來做到這一點?
在此先感謝!
*編輯:一些元組是一維例如(obj2,)
。對不起,我忘記了,現在已經適應了我的問題!
這裏的標準列表理解有什麼問題? –
它不僅僅是對象,而是元組的字符串表示中的屬性。 –
作爲一般技巧,您通常可以通過將其寫入實際for循環來查看理解結構。在這種情況下,你可以寫'obj1,obj2 in my_list'來取出元組,然後將''(%s,%s)'%(obj1.label,obj2.label)'附加到最初的空列表。你可以在下面的答案中看到相同的結構。編輯:剛纔看到了編輯。同樣的一般原則適用。 –