ઉકેલાયેલ: ડિક્ટ્રેડર પાયથોનમાંથી કીઓ કેવી રીતે કાઢવા

મુખ્ય સમસ્યા એ છે કે dictreader શબ્દકોશમાંથી કીઓ કાઢવાનો માર્ગ પ્રદાન કરતું નથી. શબ્દકોશ

મારી પાસે એક શબ્દકોશ છે જેમાંથી હું ચાવી કાઢવાનો પ્રયાસ કરી રહ્યો છું. શબ્દકોશને "ડિકટ્રેડર" કહેવામાં આવે છે અને તે આના જેવો દેખાય છે:
{'id': '1', 'name': 'John', 'age': '20', 'city': 'New York'}

હું આ શબ્દકોશમાંથી ચાવીઓ કાઢવા માંગુ છું જેથી કરીને હું તેનો ઉપયોગ લૂપમાં કરી શકું. આ મેં પ્રયત્ન કર્યો છે:
for key in dictreader.keys():
print(key)

જો કે, આ મને નીચેની ભૂલ આપે છે:

"એટ્રિબ્યુટ એરર: ટાઇપ ઑબ્જેક્ટ 'ડિકટ્રેડર' પાસે કોઈ વિશેષતા 'કી' નથી"

A:

.keys() શબ્દકોશોની પદ્ધતિ છે, સામાન્ય રીતે વસ્તુઓની નહીં. તમે તેને પ્રકારના ઑબ્જેક્ટ પર કૉલ કરવાનો પ્રયાસ કરી રહ્યાં છો type, જેમાં આવી પદ્ધતિ નથી (તેથી ભૂલ સંદેશો). તમારા શબ્દકોશની ચાવીઓ મેળવવા માટે, તમારે કૉલ કરવાની જરૂર છે .keys(): for key in dictreader.keys(): ... . જો તમે ઑબ્જેક્ટના તમામ લક્ષણો પર પુનરાવર્તન કરવા માંગતા હો, તો ઉપયોગ કરો .__dict__.items(): for attr_name, attr_value in dictreader.__dict__.items(): ... . જો તમને બે અંડરસ્કોરથી શરૂ થતા લક્ષણો સિવાયના તમામ લક્ષણો જોઈએ છે (ખાનગી ચલો અને પદ્ધતિઓને માત્ર સંમેલન દ્વારા ઑબ્જેક્ટના ઇન્ટરફેસનો ભાગ ગણવામાં આવે છે; તેઓ Python દ્વારા જ લાગુ કરવામાં આવતા નથી.) વાપરવુ [attr for attr in dir(obj) if not attr[0] == "_"]):

$ python3 -c "ક્લાસ A: પાસ; પ્રિન્ટ([attr for dir(A()) જો attr નથી[0] == "_""])"" [' '

સંબંધિત પોસ્ટ્સ:

પ્રતિક્રિયા આપો