나는 인스턴스 목록을 가지고 있으며,이 목록에서 각 인스턴스의 특정 속성을 추출하여 새 목록을 만들어야합니다. 저는 파이썬에 다소 익숙합니다.이 문제를 해결할 수있는 유일한 방법은 exec() 함수를 사용하는 것입니다.이 함수는 분명히 끔찍한 해결책입니다. 아무도 더 좋은 방법을 알고 있습니까?인스턴스 목록을 인스턴스 속성 목록으로 변환
나의 현재 기능은 다음과 같습니다 예를 들어
def attributelist(list, attribute):
"Inputs a list of instances and returns a list of a certain attribute of those instances"
output = []
for instance in list:
exec("output.append(instance." + attribute + ")")
return output
, 속성 '이름'을 가진 클래스 'my_class'작업 :
instances = []
for i in range(10):
instances.append(my_class(i))
attributelist(instances, 'name')
Out: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
나는'list'의 이름을 바꿉니다. 내장 된'list' 함수를 숨 깁니다. – Blender
잘 잡습니다. 나는 OP의 코드에서 복사/붙여 넣기를하고 통지하지 않았다. 이제 해결되었습니다. – jpmc26