根据名称和保留属性从python对象中选择元素

根据名称和保留属性从python对象中选择元素,python,object,attributes,Python,Object,Attributes,如果给定一个包含许多属性(例如“name”、“score”)的python对象和一个列表,我如何从第一个对象中选择第一个对象中属性与列表中元素匹配的所有实例,同时保留相应的属性? 我知道我可以使用set函数,但这需要将对象转换为列表,然后我将丢失其余属性 下面是一个来自我的数据的示例,演示了我要做的事情: data_1.names #returns #'C9J798', #'O00329', #'O00459', #etc. data_1.score #return

如果给定一个包含许多属性(例如“name”、“score”)的python对象和一个列表,我如何从第一个对象中选择第一个对象中属性与列表中元素匹配的所有实例,同时保留相应的属性?

我知道我可以使用set函数,但这需要将对象转换为列表,然后我将丢失其余属性

下面是一个来自我的数据的示例,演示了我要做的事情:

data_1.names
#returns
   #'C9J798',
   #'O00329',
   #'O00459',
   #etc.
data_1.score
   #returns
   #'12',
   #'60',
   #'92',
   #etc
my_list=['C9J798','O00329']
selection_from_data_1=magic_function(data_1,my_list)
#selection_from_data_1 should still have all the attributes of data_1

我根据熊猫找到了解决方案:

import pandas as pandas
data_1=pandas.Series([ 12, 60, 18, 92,53],index=['Title', 'C9J798', 'O00329', 'O00459','O00459'])
list_1=['C9J798','O00459']
data_2=data_1[list_1]

我不确定我是否理解你的问题。嗯,事实上我很确定我不理解你的问题。而且(完全无关),但是一个有分数和名字列表的对象(我假设是由位置匹配的)看起来像一种设计气味。您可能应该有一个对象列表,每个对象都有一个名称和一个分数,或者dict映射名称到分数,或者这个方案上的一些变体——但是我对您的用例一无所知,所以请对此评论持保留态度;)@bruno desthuilliers在R中,通常有“命名列表”,然后很容易从一个列表(基于其名称)和另一个列表(再次基于其名称)中进行选择。我正在为Python寻找类似的东西。这基本上就是我想用Python对属性列表中的任何属性所做的。我对R一无所知,仍然不明白您想做什么-我的意思是您真正的问题是什么,而不是您认为解决方案应该基于不同语言的概念。。。看起来像是XY问题。真正的问题是我有一个包含东西的对象:我的对象=['Element_1'、'Element_2'、'Element_3'、'Element_4'等等]。my_对象还具有其他属性。我想将我的_对象的某些部分复制到对象_2,但同时保持我的_对象的所有其他原始属性相同。所以我的_object_2=['Element_1','Element_4'],但是让object_2的所有其他属性都等于object_1