Videos
Let me try to frame my question. Self learner here.
For some reason I thought that string, integer, list, set, tuple and dictionary are data structures and every language has came up with its own data structures. I guess some languages have array and etc.
However, recently I've started a course on data structures and it teaches Linked List, Stack and Trees. None of them are implemented in Python out of box (as long as I understand). And yet if one asks ChatGPT if Python has Stack here is the answer: "Yes, Python provides several ways to implement a stack, even though it doesn't have a built-in stack data structure explicitly named "Stack." The most common ways to implement a stack in Python are:...". Turns out Python's list is a Stack where you can append() and pop() elements. On top of this "Python's collections module provides a deque (double-ended queue) that is optimized for fast appends and pops from both ends."
So I am confused now, and trying to make sence of all this info.
What is data structure, who came up with them and who defines them? Are they kind of protocols and programmers are agree on?
In almost every programming language data type simply is the type of data that you would be using.In python we have 6 basic data types they are int,float,complex,bool,string and bytes. where as the datastructures are the collection of data on which tasks can be done efficiently. It enables easier access and efficient modifications. Data Structures allows you to organize your data in such a way that enables you to store collections of data, relate them and perform operations on them accordingly.
In python DataStructures can be broadly classified into two categories(Well some people don't accept it)
they are
1)Built in - Tuples,Set,Dict,List.
2)User defined- Stacks,Queues,Tree,Graphs etc.

Lists, sets, dictionaries, and tuples are considered as both data types (as list, set, dict, and tuple) and data structures because they are pre-defined classes with specific type.
On the other hand, stack, queue, etc. are considered abstract data structures as they define behaviors (LIFO or FIFO). Stack does not have built-in stack data type but it can be implemented through list, etc.