मेरे पास पायथन में एक सूची है। मैं केवल देशक्षेत्र फ़ील्ड निकालना चाहता/चाहती हूं। मुझे यह कैसे करना चाहिए। कोड lst['countryRegion'] त्रुटि उत्पन्न करता है: TypeError: सूची सूचकांक पूर्णांक या स्लाइस होना चाहिए, न कि str

कृपया मेरी मदद करें

 [{'__type': 'Location:http://schemas.microsoft.com/search/local/ws/rest/v1',
  'address': {'adminDistrict': 'Tamil Nadu',
   'adminDistrict2': 'Chennai',
   'countryRegion': 'India',
   'formattedAddress': 'Chennai, Tamil Nadu',
   'locality': 'Chennai'},
  'bbox': [12.85071, 79.97689, 13.23403, 80.33292],
  'confidence': 'High',
  'entityType': 'PopulatedPlace',
  'geocodePoints': [{'calculationMethod': 'None',
    'coordinates': [13.07209, 80.20186],
    'type': 'Point',
    'usageTypes': ['Display']}],
  'matchCodes': ['Good'],
  'name': 'Chennai, Tamil Nadu',
  'point': {'coordinates': [13.07209, 80.20186], 'type': 'Point'}}]
0
user8717954 15 सितंबर 2020, 15:04

3 जवाब

सबसे बढ़िया उत्तर

Diberikan masukan Anda

lst =  [{'__type': 'Location:http://schemas.microsoft.com/search/local/ws/rest/v1',
  'address': {'adminDistrict': 'Tamil Nadu',
   'adminDistrict2': 'Chennai',
   'countryRegion': 'India',
   'formattedAddress': 'Chennai, Tamil Nadu',
   'locality': 'Chennai'},
  'bbox': [12.85071, 79.97689, 13.23403, 80.33292],
  'confidence': 'High',
  'entityType': 'PopulatedPlace',
  'geocodePoints': [{'calculationMethod': 'None',
    'coordinates': [13.07209, 80.20186],
    'type': 'Point',
    'usageTypes': ['Display']}],
  'matchCodes': ['Good'],
  'name': 'Chennai, Tamil Nadu',
  'point': {'coordinates': [13.07209, 80.20186], 'type': 'Point'}}]

आप अपना डेटा से प्राप्त करते हैं

lst[0]['address']['countryRegion']
  • सबसे पहले, TypeError lst एक सूची प्रकार होने के कारण है न कि डिक्शनरी प्रकार के कारण
  • दूसरा, countryRegion आपके शब्दकोश की कुंजी नहीं है, बल्कि कुंजी address से शब्दकोश मान के अंदर है
1
rajah9 15 सितंबर 2020, 15:35

यह उस त्रुटि का उत्पादन कर रहा है क्योंकि सूची में एक एकल तत्व है जो कि प्रकार का शब्दकोश है।

तो वांछित मूल्य तक पहुंचने के लिए आप केवल कमांड का उपयोग कर सकते हैं

list_dic = [{'__type': 'Location:http://schemas.microsoft.com/search/local/ws/rest/v1',
'address': {'adminDistrict': 'Tamil Nadu',
   'adminDistrict2': 'Chennai',
   'countryRegion': 'India',
   'formattedAddress': 'Chennai, Tamil Nadu',
   'locality': 'Chennai'},
  'bbox': [12.85071, 79.97689, 13.23403, 80.33292],
  'confidence': 'High',
  'entityType': 'PopulatedPlace',
  'geocodePoints': [{'calculationMethod': 'None',
    'coordinates': [13.07209, 80.20186],
    'type': 'Point',
    'usageTypes': ['Display']}],
  'matchCodes': ['Good'],
  'name': 'Chennai, Tamil Nadu',
  'point': {'coordinates': [13.07209, 80.20186], 'type': 'Point'}}]
  
   lst_dic[0]['address']['countryRegion']
1
Aakash Dinkar 15 सितंबर 2020, 15:12

ऐसा इसलिए है क्योंकि यह शब्दकोश की एक सूची है।

मैं नहीं जानता कि आप जेसन कैसे प्राप्त करते हैं लेकिन यहां मैं जो प्राप्त करने में सक्षम था:

js=[{'__type': 'Location:http://schemas.microsoft.com/search/local/ws/rest/v1',
  'address': {'adminDistrict': 'Tamil Nadu',
   'adminDistrict2': 'Chennai',
   'countryRegion': 'India',
   'formattedAddress': 'Chennai, Tamil Nadu',
   'locality': 'Chennai'},
  'bbox': [12.85071, 79.97689, 13.23403, 80.33292],
  'confidence': 'High',
  'entityType': 'PopulatedPlace',
  'geocodePoints': [{'calculationMethod': 'None',
    'coordinates': [13.07209, 80.20186],
    'type': 'Point',
    'usageTypes': ['Display']}],
  'matchCodes': ['Good'],
  'name': 'Chennai, Tamil Nadu',
  'point': {'coordinates': [13.07209, 80.20186], 'type': 'Point'}}]
  
for i in range(len(js)):
    print(js[i]["address"]["countryRegion"])
0
Yash 15 सितंबर 2020, 15:08