2017-06-19 21 views
6

मैं इस प्रकार नाम से एक नामित टपल के तत्वों का उपयोग कर सकते (*):फ़ील्ड नाम के लिए एक चर का उपयोग कर नामित एक फ़ील्ड का उपयोग कैसे करें?

from collections import namedtuple 
Car = namedtuple('Car', 'color mileage') 
my_car = Car('red', 100) 
print my_car.color 

लेकिन यह कैसे मैं क्षेत्र मैं उपयोग करना चाहते का नाम निर्दिष्ट करने के लिए एक चर का उपयोग कर सकते हैं? जैसे

field = 'color' 
my_car[field] # doesn't work 
my_car.field # doesn't work 

मेरे वास्तविक उपयोग के मामले है कि मैं for row in data.itertuples() के साथ एक पांडा dataframe के माध्यम से पुनरावृत्ति कर रहा हूँ है। मैं किसी विशेष कॉलम से मान पर एक ऑपरेशन कर रहा हूं, और मैं इस लूप वाली विधि के पैरामीटर के रूप में नाम से उपयोग करने के लिए कॉलम निर्दिष्ट करने में सक्षम होना चाहता हूं।

(*) example taken from here। मैं पायथन 2.7 का उपयोग कर रहा हूँ।

+1

'getattr (my_car, क्षेत्र)' या 'my_car._asdict() [field]'। –

+0

भी 'mycar [field]' आज़माएं लेकिन फिर आप 'डेटा में पंक्ति के लिए' का उपयोग कर पुन: प्रयास कर सकते हैं। –

+0

@ अश्विनी चौधरी आपको इसे एक उत्तर के रूप में पोस्ट करना चाहिए था! – LangeHaare

उत्तर

7

आप उपयोग कर सकते हैं getattr

getattr(my_car, field) 
संबंधित मुद्दे

 संबंधित मुद्दे