Activity 17: Data Structure Again

Activity 17: Data Structure Again


List, Object, and List of Objects.

1. List

A list is an ordered collection of items that can be of any data type, including numbers, strings, and even other lists. Lists allow duplicate values and are mutable, meaning you can modify them after creation.

Characteristics:

  • Ordered: The items in a list maintain their order.

  • Mutable: You can change the items in a list (add, remove, or modify).

  • Indexed: Each item has an index starting from 0.

  • Allows Duplicates: The same item can appear multiple times.

Example:

fruits_list = ["apple", "banana", "orange", "apple"]

2. Object

An object is a collection of key-value pairs, also known as properties or attributes. Each key is unique within an object and is associated with a value, which can be of any data type. Objects are used to represent real-world entities and their properties.

Characteristics:

  • Key-Value Pairs: Each property has a unique key associated with its value.

  • Mutable: You can change the values of the properties.

  • Unordered: The order of key-value pairs is not guaranteed.

Example:

student = {
    "name": "Juan Carlos",
    "age": 22,
    "email": "juan@gmail.com"
}

3. List of Objects

Definition:
A list of objects is a collection where each item in the list is an object. This structure allows for the organization of multiple entities, each having its own set of properties defined as key-value pairs.

Characteristics:

  • Combines Lists and Objects: Each item in the list is an object, which can have multiple attributes.

  • Ordered Collection: The order of objects in the list is maintained.

  • Mutable: You can add, remove, or modify objects within the list.

Example:

students = [
    {
        "name": "Juan Carlos",
        "age": 22,
        "email": "juan@gmail.com"
    },
    {
        "name": "Jose Rizal",
        "age": 21,
        "email": "jose@gmail.com"
    }
]

Apply the concepts of list, object, and list of objects

1. Product Table

IDNameCategoryPriceStockSupplier Email
1LaptopElectronics75050supplier1@gmail.com
2Desk ChairFurniture100200supplier2@gmail.com
3SmartwatchElectronics200150supplier3@gmail.com
4NotebookStationery5500supplier4@gmail.com
5Running ShoesApparel80100supplier5@gmail.com

List

A list is a simple collection of values. You can create a list using any column from the table (e.g., IDs, names, prices, etc.).

Output:

product_name_list = ["Laptop", "Desk Chair", "Smartwatch", "Notebook", "Running Shoes"]
product_category_list = ["Electronics", "Furniture", "Electronics", "Stationery", "Apparel"]
product_id_list = [1, 2, 3, 4, 5]
product_price_list = [750, 100, 200, 5, 80]
product_stock_list = [50, 200, 150, 500, 100]
product_supplier_email_list = ["supplier1@gmail.com", "supplier2@gmail.com", "supplier3@gmail.com", "supplier4@gmail.com", "supplier5@gmail.com"]

Object

An object groups multiple properties (like ID, Name, Category, Price, Stock, and Supplier Email) of a single entity. In this case, an object can represent one product.

Output:

product_object1 = {
    "name": "Laptop",
    "category": "Electronics",
    "id": 1,
    "price": 750,
    "stock": 50,
    "supplier_email": "supplier1@gmail.com"
}

product_object2 = {
    "name": "Desk Chair",
    "category": "Furniture",
    "id": 2,
    "price": 100,
    "stock": 200,
    "supplier_email": "supplier2@gmail.com"
}

product_object3 = {
    "name": "Smartwatch",
    "category": "Electronics",
    "id": 3,
    "price": 200,
    "stock": 150,
    "supplier_email": "supplier3@gmail.com"
}

product_object4 = {
    "name": "Notebook",
    "category": "Stationery",
    "id": 4,
    "price": 5,
    "stock": 500,
    "supplier_email": "supplier4@gmail.com"
}

product_object5 = {
    "name": "Running Shoes",
    "category": "Apparel",
    "id": 5,
    "price": 80,
    "stock": 100,
    "supplier_email": "supplier5@gmail.com"
}

List of Objects

A list of objects is a combination of both lists and objects. Each object in the list represents an entity (a product in this case), and the list holds multiple such objects.

Output:

products = [
    {
        "id": 1,
        "name": "Laptop",
        "category": "Electronics",
        "price": 750,
        "stock": 50,
        "supplier_email": "supplier1@gmail.com"
    },
    {
        "id": 2,
        "name": "Desk Chair",
        "category": "Furniture",
        "price": 100,
        "stock": 200,
        "supplier_email": "supplier2@gmail.com"
    },
    {
        "id": 3,
        "name": "Smartwatch",
        "category": "Electronics",
        "price": 200,
        "stock": 150,
        "supplier_email": "supplier3@gmail.com"
    },
    {
        "id": 4,
        "name": "Notebook",
        "category": "Stationery",
        "price": 5,
        "stock": 500,
        "supplier_email": "supplier4@gmail.com"
    },
    {
        "id": 5,
        "name": "Running Shoes",
        "category": "Apparel",
        "price": 80,
        "stock": 100,
        "supplier_email": "supplier5@gmail.com"
    }
]

2. Employee Table

IDNameDepartmentAgeEmail
1John DoeSales30john.doe@company.com
2Jane SmithHuman Resources25jane.smith@company.com
3Mark JohnsonIT40mark.johnson@company.com
4Lisa WongMarketing28lisa.wong@company.com
5Paul McDonaldFinance35paul.mcdonald@company.com

List

employee_name_list = ["John Doe", "Jane Smith", "Mark Johnson", "Lisa Wong", "Paul McDonald"]
employee_department_list = ["Sales", "Human Resources", "IT", "Marketing", "Finance"]
employee_id_list = [1, 2, 3, 4, 5]
employee_age_list = [30, 25, 40, 28, 35]
employee_email_list = ["john.doe@company.com", "jane.smith@company.com", "mark.johnson@company.com", "lisa.wong@company.com", "paul.mcdonald@company.com"]

Object

employee_object1 = {
    "id": 1,
    "name": "John Doe",
    "department": "Sales",
    "age": 30,
    "email": "john.doe@company.com"
}

employee_object2 = {
    "id": 2,
    "name": "Jane Smith",
    "department": "Human Resources",
    "age": 25,
    "email": "jane.smith@company.com"
}

employee_object3 = {
    "id": 3,
    "name": "Mark Johnson",
    "department": "IT",
    "age": 40,
    "email": "mark.johnson@company.com"
}

employee_object4 = {
    "id": 4,
    "name": "Lisa Wong",
    "department": "Marketing",
    "age": 28,
    "email": "lisa.wong@company.com"
}

employee_object5 = {
    "id": 5,
    "name": "Paul McDonald",
    "department": "Finance",
    "age": 35,
    "email": "paul.mcdonald@company.com"
}

List of Objects

employees = [
    {
        "id": 1,
        "name": "John Doe",
        "department": "Sales",
        "age": 30,
        "email": "john.doe@company.com"
    },
    {
        "id": 2,
        "name": "Jane Smith",
        "department": "Human Resources",
        "age": 25,
        "email": "jane.smith@company.com"
    },
    {
        "id": 3,
        "name": "Mark Johnson",
        "department": "IT",
        "age": 40,
        "email": "mark.johnson@company.com"
    },
    {
        "id": 4,
        "name": "Lisa Wong",
        "department": "Marketing",
        "age": 28,
        "email": "lisa.wong@company.com"
    },
    {
        "id": 5,
        "name": "Paul McDonald",
        "department": "Finance",
        "age": 35,
        "email": "paul.mcdonald@company.com"
    }
]

3. Books Table

IDTitleAuthorGenrePublished YearISBNStockPrice
1The Great GatsbyF. Scott FitzgeraldFiction1925978-07432735652015.99
2To Kill a MockingbirdHarper LeeFiction1960978-00609354673510.99
31984George OrwellDystopian1949978-0451524935409.99
4The Catcher in the RyeJ.D. SalingerFiction1951978-0316769488258.99
5A Brief History of TimeStephen HawkingNon-fiction1988978-05533801631018.99

List

book_id_list = [1, 2, 3, 4, 5]
book_title_list = ["The Great Gatsby", "To Kill a Mockingbird", "1984", "The Catcher in the Rye", "A Brief History of Time"]
book_author_list = ["F. Scott Fitzgerald", "Harper Lee", "George Orwell", "J.D. Salinger", "Stephen Hawking"]
book_genre_list = ["Fiction", "Fiction", "Dystopian", "Fiction", "Non-fiction"]
book_published_year_list = [1925, 1960, 1949, 1951, 1988]
book_isbn_list = ["978-0743273565", "978-0060935467", "978-0451524935", "978-0316769488", "978-0553380163"]
book_stock_list = [20, 35, 40, 25, 10]
book_price_list = [15.99, 10.99, 9.99, 8.99, 18.99]

Object

book1 = {
    "id": 1,
    "title": "The Great Gatsby",
    "author": "F. Scott Fitzgerald",
    "genre": "Fiction",
    "published_year": 1925,
    "isbn": "978-0743273565",
    "stock": 20,
    "price": 15.99
}

book2 = {
    "id": 2,
    "title": "To Kill a Mockingbird",
    "author": "Harper Lee",
    "genre": "Fiction",
    "published_year": 1960,
    "isbn": "978-0060935467",
    "stock": 35,
    "price": 10.99
}

book3 = {
    "id": 3,
    "title": "1984",
    "author": "George Orwell",
    "genre": "Dystopian",
    "published_year": 1949,
    "isbn": "978-0451524935",
    "stock": 40,
    "price": 9.99
}

book4 = {
    "id": 4,
    "title": "The Catcher in the Rye",
    "author": "J.D. Salinger",
    "genre": "Fiction",
    "published_year": 1951,
    "isbn": "978-0316769488",
    "stock": 25,
    "price": 8.99
}

book5 = {
    "id": 5,
    "title": "A Brief History of Time",
    "author": "Stephen Hawking",
    "genre": "Non-fiction",
    "published_year": 1988,
    "isbn": "978-0553380163",
    "stock": 10,
    "price": 18.99
}

List of Objects

books = [
    {
        "id": 1,
        "title": "The Great Gatsby",
        "author": "F. Scott Fitzgerald",
        "genre": "Fiction",
        "published_year": 1925,
        "isbn": "978-0743273565",
        "stock": 20,
        "price": 15.99
    },
    {
        "id": 2,
        "title": "To Kill a Mockingbird",
        "author": "Harper Lee",
        "genre": "Fiction",
        "published_year": 1960,
        "isbn": "978-0060935467",
        "stock": 35,
        "price": 10.99
    },
    {
        "id": 3,
        "title": "1984",
        "author": "George Orwell",
        "genre": "Dystopian",
        "published_year": 1949,
        "isbn": "978-0451524935",
        "stock": 40,
        "price": 9.99
    },
    {
        "id": 4,
        "title": "The Catcher in the Rye",
        "author": "J.D. Salinger",
        "genre": "Fiction",
        "published_year": 1951,
        "isbn": "978-0316769488",
        "stock": 25,
        "price": 8.99
    },
    {
        "id": 5,
        "title": "A Brief History of Time",
        "author": "Stephen Hawking",
        "genre": "Non-fiction",
        "published_year": 1988,
        "isbn": "978-0553380163",
        "stock": 10,
        "price": 18.99
    }
]

4. University Table

IDNameLocationEstablished YearTypeWebsite
1University of the PhilippinesQuezon City1908Publicwww.up.edu.ph
2Ateneo de Manila UniversityQuezon City1859Privatewww.ateneo.edu
3De La Salle UniversityManila1911Privatewww.dlsu.edu.ph
4University of Santo TomasManila1611Privatewww.ust.edu.ph
5Polytechnic University of the PhilippinesManila1904Publicwww.pup.edu.ph

List

university_id_list = [1, 2, 3, 4, 5]
university_name_list = ["University of the Philippines", "Ateneo de Manila University", "De La Salle University", "University of Santo Tomas", "Polytechnic University of the Philippines"]
university_location_list = ["Quezon City", "Quezon City", "Manila", "Manila", "Manila"]
university_established_year_list = [1908, 1859, 1911, 1611, 1904]
university_type_list = ["Public", "Private", "Private", "Private", "Public"]
university_website_list = ["www.up.edu.ph", "www.ateneo.edu", "www.dlsu.edu.ph", "www.ust.edu.ph", "www.pup.edu.ph"]

Object

university1 = {
    "id": 1,
    "name": "University of the Philippines",
    "location": "Quezon City",
    "established_year": 1908,
    "type": "Public",
    "website": "www.up.edu.ph"
}

university2 = {
    "id": 2,
    "name": "Ateneo de Manila University",
    "location": "Quezon City",
    "established_year": 1859,
    "type": "Private",
    "website": "www.ateneo.edu"
}

university3 = {
    "id": 3,
    "name": "De La Salle University",
    "location": "Manila",
    "established_year": 1911,
    "type": "Private",
    "website": "www.dlsu.edu.ph"
}

university4 = {
    "id": 4,
    "name": "University of Santo Tomas",
    "location": "Manila",
    "established_year": 1611,
    "type": "Private",
    "website": "www.ust.edu.ph"
}

university5 = {
    "id": 5,
    "name": "Polytechnic University of the Philippines",
    "location": "Manila",
    "established_year": 1904,
    "type": "Public",
    "website": "www.pup.edu.ph"
}

List of Objects

universities = [
    {
        "id": 1,
        "name": "University of the Philippines",
        "location": "Quezon City",
        "established_year": 1908,
        "type": "Public",
        "website": "www.up.edu.ph"
    },
    {
        "id": 2,
        "name": "Ateneo de Manila University",
        "location": "Quezon City",
        "established_year": 1859,
        "type": "Private",
        "website": "www.ateneo.edu"
    },
    {
        "id": 3,
        "name": "De La Salle University",
        "location": "Manila",
        "established_year": 1911,
        "type": "Private",
        "website": "www.dlsu.edu.ph"
    },
    {
        "id": 4,
        "name": "University of Santo Tomas",
        "location": "Manila",
        "established_year": 1611,
        "type": "Private",
        "website": "www.ust.edu.ph"
    },
    {
        "id": 5,
        "name": "Polytechnic University of the Philippines",
        "location": "Manila",
        "established_year": 1904,
        "type": "Public",
        "website": "www.pup.edu.ph"
    }
]

5. Restaurant Table

IDNameLocationCuisine TypeEstablished YearWebsite or Contact
1Vikings Luxury BuffetPasay CityBuffet2011www.vikings.ph
2Antonio's RestaurantTagaytayFine Dining2002www.antoniosrestaurant.ph
3Mesa Filipino ModerneMakati CityFilipino2009www.mesa.ph
4Manam Comfort FilipinoQuezon CityFilipino2013www.manam.ph
5Ramen NagiVarious LocationsJapanese2013www.ramennagi.com.ph

List

restaurant_id_list = [1, 2, 3, 4, 5]
restaurant_name_list = ["Vikings Luxury Buffet", "Antonio's Restaurant", "Mesa Filipino Moderne", "Manam Comfort Filipino", "Ramen Nagi"]
restaurant_location_list = ["Pasay City", "Tagaytay", "Makati City", "Quezon City", "Various Locations"]
restaurant_cuisine_type_list = ["Buffet", "Fine Dining", "Filipino", "Filipino", "Japanese"]
restaurant_established_year_list = [2011, 2002, 2009, 2013, 2013]
restaurant_website_list = ["www.vikings.ph", "www.antoniosrestaurant.ph", "www.mesa.ph", "www.manam.ph", "www.ramennagi.com.ph"]

Object

restaurant1 = {
    "id": 1,
    "name": "Vikings Luxury Buffet",
    "location": "Pasay City",
    "cuisine_type": "Buffet",
    "established_year": 2011,
    "website": "www.vikings.ph"
}

restaurant2 = {
    "id": 2,
    "name": "Antonio's Restaurant",
    "location": "Tagaytay",
    "cuisine_type": "Fine Dining",
    "established_year": 2002,
    "website": "www.antoniosrestaurant.ph"
}

restaurant3 = {
    "id": 3,
    "name": "Mesa Filipino Moderne",
    "location": "Makati City",
    "cuisine_type": "Filipino",
    "established_year": 2009,
    "website": "www.mesa.ph"
}

restaurant4 = {
    "id": 4,
    "name": "Manam Comfort Filipino",
    "location": "Quezon City",
    "cuisine_type": "Filipino",
    "established_year": 2013,
    "website": "www.manam.ph"
}

restaurant5 = {
    "id": 5,
    "name": "Ramen Nagi",
    "location": "Various Locations",
    "cuisine_type": "Japanese",
    "established_year": 2013,
    "website": "www.ramennagi.com.ph"
}

List of Objects

restaurants = [
    {
        "id": 1,
        "name": "Vikings Luxury Buffet",
        "location": "Pasay City",
        "cuisine_type": "Buffet",
        "established_year": 2011,
        "website": "www.vikings.ph"
    },
    {
        "id": 2,
        "name": "Antonio's Restaurant",
        "location": "Tagaytay",
        "cuisine_type": "Fine Dining",
        "established_year": 2002,
        "website": "www.antoniosrestaurant.ph"
    },
    {
        "id": 3,
        "name": "Mesa Filipino Moderne",
        "location": "Makati City",
        "cuisine_type": "Filipino",
        "established_year": 2009,
        "website": "www.mesa.ph"
    },
    {
        "id": 4,
        "name": "Manam Comfort Filipino",
        "location": "Quezon City",
        "cuisine_type": "Filipino",
        "established_year": 2013,
        "website": "www.manam.ph"
    },
    {
        "id": 5,
        "name": "Ramen Nagi",
        "location": "Various Locations",
        "cuisine_type": "Japanese",
        "established_year": 2013,
        "website": "www.ramennagi.com.ph"
    }
]

Why is Data structure Important Again?

Understanding how to organize data using lists and objects is crucial for developing more complex data structures and algorithms in programming. Efficient data organization enhances the speed of searching, retrieving, and manipulating data, which is essential in software development.

Frontend and Backend Development Context

  • Frontend: You may need to dynamically display student data or product information on a webpage.

  • Backend: You might need to store, process, or manipulate data before sending it to a frontend application or saving it in a database.

The Importance of Data Structures:

  • Efficient Data Management:

    • Data structures allow you to store and organize data in a way that makes it easy to access and manipulate. For instance, using arrays (lists) enables you to quickly iterate over items, while objects (dictionaries) allow for easy retrieval of data based on key-value pairs.
  • Improved Performance:

    • The choice of data structure can significantly impact the performance of your application. For example, searching through a list can be slow, but using a hash table (a type of object) can speed up lookups to constant time, O(1), making your application much more responsive.
  • Real-World Application:

    • Data structures are not just theoretical; they are used in various real-world applications. In web development, for example, structured data is crucial for managing user profiles, product listings, and much more. Understanding how to use lists and objects can help developers create dynamic and interactive web applications.
  • Foundation for Advanced Concepts:

    • Mastering basic data structures like arrays, linked lists, and trees provides a strong foundation for understanding more complex data structures and algorithms. This knowledge is vital for tasks such as optimizing code, enhancing application performance, and solving challenging programming problems.

Data structures are not merely academic concepts; they are practical tools that facilitate efficient data management in software development. By mastering lists and objects, developers can build applications that are not only faster and more responsive but also easier to maintain and scale. Whether you're developing a simple application or a complex e-commerce platform, understanding data structures is essential for success in the programming world.