-2

I am using the Stack Overflow api to search for questions by passing a query.

I am using the following code:

def search_query_stackoverflow(query):
 title_search_string = query
 SITE = StackAPI('stackoverflow')
 questions = SITE.fetch('search/advanced', title = title_search_string)
 print(questions)

I would like to get or be able to manipulate everything inside the key "items". For example I would like to get the key title and link. I get the following in dict format. I know that it is a dict of tuples, but I can not get the keys title and link from the dict inside the tuples.

{'backoff': 0,
 'has_more': False,
 'items': [{'answer_count': 1,
 'content_license': 'CC BY-SA 4.0',
 'creation_date': 1633328463,
 'is_answered': False,
 'last_activity_date': 1633372180,
 'last_edit_date': 1633335100,
 'link': 'https://stackoverflow.com/questions/69431652/insert-a-position-in-a-linked-list-java',
 'owner': {'display_name': 'wonderfulLife',
 'link': 'https://stackoverflow.com/users/17068499/wonderfullife',
 'profile_image': 'https://www.gravatar.com/avatar/d769e5190595588a327bc10fa491d504?s=128&d=identicon&r=PG',
 'reputation': 1,
 'user_id': 17068499,
 'user_type': 'registered'},
 'question_id': 69431652,
 'score': -2,
 'tags': ['java', 'linked-list', 'singly-linked-list'],
 'title': 'Insert a position in a linked list Java',
 'view_count': 44},
 {'answer_count': 1,
 'content_license': 'CC BY-SA 4.0',
 'creation_date': 1623062466,
 'is_answered': True,
 'last_activity_date': 1623063969,
 'link': 'https://stackoverflow.com/questions/67870147/insert-generic-element-at-a-specific-index-in-doubly-linked-list-java',
 'owner': {'display_name': 'nooralight',
 'link': 'https://stackoverflow.com/users/14570244/nooralight',
 'profile_image': 'https://www.gravatar.com/avatar/f961618fb740715e2a03edc1d0f4c8e0?s=128&d=identicon&r=PG&f=1',
 'reputation': 39,
 'user_id': 14570244,
 'user_type': 'registered'},
 'question_id': 67870147,
 'score': 0,
 'tags': ['java', 'doubly-linked-list'],
 'title': 'Insert generic element at a specific index in Doubly '
 'linked List java',
 'view_count': 44},
 {'answer_count': 1,
 'content_license': 'CC BY-SA 4.0',
 'creation_date': 1621429048,
 'is_answered': False,
 'last_activity_date': 1621441007,
 'link': 'https://stackoverflow.com/questions/67603746/how-do-i-delete-the-last-occurrence-in-a-circular-linked-list-java',
 'owner': {'display_name': 'Parasite ',
 'link': 'https://stackoverflow.com/users/15842418/parasite',
 'profile_image': 'https://lh3.googleusercontent.com/a/AATXAJx2qqQKeuP3GkdbYb3CCWssnyQobuoy3uJ69rF-=k-s128',
 'reputation': 37,
 'user_id': 15842418,
 'user_type': 'registered'},
 'question_id': 67603746,
 'score': 0,
 'tags': ['java', 'list'],
 'title': 'How do I delete the last occurrence in a circular linked '
 'list? (java)',
 'view_count': 51},
 {'accepted_answer_id': 67493385,
 'answer_count': 2,
 'content_license': 'CC BY-SA 4.0',
 'creation_date': 1620759947,
 'is_answered': True,
 'last_activity_date': 1620763478,
 'last_edit_date': 1620760390,
 'link': 'https://stackoverflow.com/questions/67492919/deleting-all-occurrences-in-a-circular-linked-list-java',
 'owner': {'display_name': 'Parasite ',
 'link': 'https://stackoverflow.com/users/15842418/parasite',
 'profile_image': 'https://lh3.googleusercontent.com/a/AATXAJx2qqQKeuP3GkdbYb3CCWssnyQobuoy3uJ69rF-=k-s128',
 'reputation': 37,
 'user_id': 15842418,
 'user_type': 'registered'},
 'question_id': 67492919,
 'score': 3,
 'tags': ['java', 'list', 'abstract-class', 'circular-list'],
 'title': 'Deleting all occurrences in a circular linked list. '
 '(java)',
 'view_count': 54},
 {'accepted_answer_id': 66575117,
 'answer_count': 1,
 'content_license': 'CC BY-SA 4.0',
 'creation_date': 1615422441,
 'is_answered': True,
 'last_activity_date': 1615426254,
 'link': 'https://stackoverflow.com/questions/66574824/triple-cut-of-a-circular-doubly-linked-list-java',
 'owner': {'display_name': 'hexaquark',
 'link': 'https://stackoverflow.com/users/12985747/hexaquark',
 'profile_image': 'https://lh3.googleusercontent.com/a-/AAuE7mCEOfSH2ceAoOtaNgVnp7ZeozLKmlWx1EEhlLyK0A=k-s128',
 'reputation': 504,
 'user_id': 12985747,
 'user_type': 'registered'},
 'question_id': 66574824,
 'score': 0,
 'tags': ['java', 'doubly-linked-list', 'circular-list'],
 'title': 'Triple-cut of a circular doubly linked list, Java',
 'view_count': 162},
 {'accepted_answer_id': 40175374,
 'answer_count': 3,
 'content_license': 'CC BY-SA 3.0',
 'creation_date': 1477048590,
 'is_answered': True,
 'last_activity_date': 1612869999,
 'last_edit_date': 1477063453,
 'link': 'https://stackoverflow.com/questions/40175252/priority-queue-vs-linked-list-java',
 'owner': {'display_name': 'vikkz',
 'link': 'https://stackoverflow.com/users/7052778/vikkz',
 'profile_image': 'https://www.gravatar.com/avatar/72490089dcfe85b71c97179f8118c9e2?s=128&d=identicon&r=PG&f=1',
 'reputation': 45,
 'user_id': 7052778,
 'user_type': 'registered'},
 'question_id': 40175252,
 'score': 4,
 'tags': ['java',
 'algorithm',
 'data-structures',
 'graph',
 'graph-algorithm'],
 'title': 'priority queue vs linked list java',
 'view_count': 7665},
 {'accepted_answer_id': 5607646,
 'answer_count': 7,
 'content_license': 'CC BY-SA 3.0',
 'creation_date': 1302377340,
 'is_answered': True,
 'last_activity_date': 1611486685,
 'last_edit_date': 1377401887,
 'link': 'https://stackoverflow.com/questions/5607292/interview-remove-loop-in-linked-list-java',
 'owner': {'accept_rate': 91,
 'display_name': 'SuperMan',
 'link': 'https://stackoverflow.com/users/286629/superman',
 'profile_image': 'https://www.gravatar.com/avatar/ce742ecb3857f142e886c334f8a7c7cf?s=128&d=identicon&r=PG',
 'reputation': 3456,
 'user_id': 286629,
 'user_type': 'registered'},
 'question_id': 5607292,
 'score': 62,
 'tags': ['java', 'data-structures', 'linked-list'],
 'title': 'Interview: Remove Loop in linked list - Java',
 'view_count': 26845},
 {'answer_count': 2,
 'content_license': 'CC BY-SA 4.0',
 'creation_date': 1611164682,
 'is_answered': False,
 'last_activity_date': 1611176658,
 'link': 'https://stackoverflow.com/questions/65814815/doubly-linked-list-java-method-for-inserting-at-the-beginning',
 'owner': {'display_name': 'bdd0',
 'link': 'https://stackoverflow.com/users/14470647/bdd0',
 'profile_image': 'https://www.gravatar.com/avatar/274c7cf8d0cf18093647adaca4602b04?s=128&d=identicon&r=PG&f=1',
 'reputation': 59,
 'user_id': 14470647,
 'user_type': 'registered'},
 'question_id': 65814815,
 'score': -1,
 'tags': ['java', 'linked-list'],
 'title': 'Doubly linked list java method for inserting at the '
 'beginning',
 'view_count': 36}],
 'page': 2,
 'quota_max': 300,
 'quota_remaining': 180,
 'total': 0}
 ...
Tomerikoo
19.5k16 gold badges57 silver badges68 bronze badges
asked Oct 10, 2021 at 12:58
1
  • 1
    There are no tuples. You just need to follow the nesting and the types. Doing your_dict['items'][0]['title'] will give Insert a position in a linked list Java because d['items] is a list of dicts Commented Oct 10, 2021 at 15:07

1 Answer 1

1

The type of the value of the key items inside the dict is list so you can manipulate it using list comprehension. For example -

questions['items'] = [{'link':item['link']} for item in questions['items']
answered Oct 10, 2021 at 13:09
0

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.