Home Backend Development Python Tutorial Python - Lists and Tasks

Python - Lists and Tasks

Aug 01, 2024 pm 08:19 PM

Python - Lists and Tasks

After learning indexing and slicing, we started learning more about Lists and in built methods. The methods are

Returns None

  • append
  • insert
  • remove
  • Sort
  • reverse
  • clear

Returns int

  • index
  • count

Returns str

  • pop

For smaller changes in delivery list, in built function itself is enough. But when we want to do more operations with the list, for loop, if loop will be needed.

For eg, there is a list ['Pencil', 'Notebook', 'Marker', 'Highlighter', 'Glue Stick', 'Eraser', 'Laptop', 3] where only string needs to be converted to upper case. Here we cannot use list or string methods directly. The ideal logic would be

  1. we have to iterate the list one by one
  2. Check the item is string or other type
  3. Use string method upper() and append() accordingly

So here for loop, if,else condition is needed

delivery_list= ['Pencil', 'Notebook', 'Marker', 'Highlighter', 'Glue Stick', 'Eraser', 'Laptop', 3]
upper_list = []
for item in delivery_list:
    if type(item) == str:
        upper_list.append(item.upper())
    else:
        upper_list.append(item)

print('Upper case list is:', upper_list)

Output:
Upper case list is: ['PENCIL', 'NOTEBOOK', 'MARKER', 'HIGHLIGHTER', 'GLUE STICK', 'ERASER', 'LAPTOP', 3]
Copy after login

Tasks given were to practice more about such methods and logics. those were interesting to find the logic or methods available.
Solved details are

Tasks_list.py
#######################################################################################
#1. Create a list of five delivery items and print the third item in the list. 
#eg: [“Notebook”, “Pencil”, “Eraser”, “Ruler”, “Marker”]
#######################################################################################

delivery_list = ['Notebook', 'Pencil', 'Eraser', 'Ruler', 'Marker']
print (f'\t1. Third item in the list{delivery_list} is: {delivery_list[2]}')

#######################################################################################
# 2.A new delivery item “Glue Stick” needs to be added to the list. 
# Add it to the end of the list and print the updated list.
#######################################################################################

delivery_list.append('Glue Stick')
print('\t2. Updated delivery list is:', delivery_list)

#######################################################################################
# 3. Insert “Highlighter” between the second and third items and print the updated list.
#######################################################################################

delivery_list.insert(2, 'Highlighter')
print('\t3. Updated list by inserting Highlighter b/w 2nd &3rd:', delivery_list)

#######################################################################################
# 4. One delivery was canceled. Remove “Ruler” from the list and print the updated list.
#######################################################################################
delivery_list.remove('Ruler')
print('\t4. Updated list after removing Ruler is:', delivery_list)

#######################################################################################
# 5. The delivery man needs to deliver only the first three items. 
# Print a sublist containing only these items.
#######################################################################################
sublist =[]
for item in delivery_list[:3]:
    #sublist =sublist.append(item)      #This is incorrect as sublist.append() returns None.
    sublist.append(item)

print('\t5. Sublist of first three elements using loop:', sublist) 
print('\t   Sublist of first three elements using slicing:', delivery_list[:3]) 


#######################################################################################
# 6.The delivery man has finished his deliveries. 
# Convert all item names to uppercase using a list comprehension and print the new list.
#######################################################################################

uppercase_list=[]
for item in delivery_list:
    uppercase_list.append(item.upper())
print('\t6. Uppercase list of delivery items:', uppercase_list)

uppercase_list_lc = [item.upper() for item in delivery_list]
print('\t6. Uppercase list using list compre:', uppercase_list_lc)



#######################################################################################
# 7. Check if “Marker” is still in the list and print a message indicating whether it is found.
# 8. Print the number of delivery items in the list.
#######################################################################################

is_found= delivery_list.count('Marker')
if 'Marker' in delivery_list:
    print(f'\t7. Marker is found {is_found} times')
else:
    print(f'\t7. Marker is not found {is_found}')

print(f'\t8. Number of delivery item from {delivery_list} is: ', len(delivery_list))

#######################################################################################
# 9. Sort the list of items in alphabetical order and print the sorted list
# 10. The delivery man decides to reverse the order of his deliveries. 
# Reverse the list and print it
#######################################################################################


delivery_list.sort()
print(f'\t9. Sorted delivery list is {delivery_list}')

delivery_list.reverse()
print(f'\t10. Reverse list of delivery list is {delivery_list}')

#######################################################################################
# 11. Create a list where each item is a list containing a delivery item and its delivery time. 
# Print the first item and its time.
#######################################################################################

delivery_list_time = [['Letter', '10:00'], ['Parcel', '10:15'], ['Magazine', '10:45'], ['Newspaper', '11:00']]
print('\t11. First delivery item and time', delivery_list_time[0])

delivery_list = ['Pencil', 'Notebook', 'Marker', 'Highlighter', 'Glue Stick', 'Eraser', 'Laptop']
delivery_time = ['11:00','11:20','11:40','12:00','12:30','13:00', '13:30']

#Paring of two list using zip
paired_list=list(zip(delivery_list,delivery_time))
print('\tPaired list using zip:', paired_list[0:2])

#Combine corresponding item from multiple list using zip and for
item_time_list = [[item,time] for item, time in zip(delivery_list, delivery_time)]
print ('\tItem_time_list using list comprehension: ', item_time_list[0:1])


#######################################################################################
# 12. Count how many times “Ruler” appears in the list and print the count.
# 13. Find the index of “Pencil” in the list and print it.
# 14. Extend the list items with another list of new delivery items and print the updated list.
# 15. Clear the list of all delivery items and print the list.
# 16. Create a list with the item “Notebook” repeated three times and print the list.
# 17. Using a nested list comprehension, create a list of lists where each sublist contains an item 
# and its length, then print the new list.
# 18. Filter the list to include only items that contain the letter “e” and print the filtered list.
# 19. Remove duplicate items from the list and print the list of unique items.
#######################################################################################

is_found= delivery_list.count('Ruler')
print('\t12. The count of Ruler in delivery list is:', is_found)

index_pencil = delivery_list.index('Pencil')
print(f'\t13. Index of Pencil in {delivery_list} is {index_pencil}')

small_list = ['Ink','']
delivery_list.extend(small_list)
print('\t14. Extend list by extend:', delivery_list)

item_time_list.clear()
print('\t15. Clearing the list using clear():', item_time_list)

Notebook_list = ['Notebook']*3
print('\t16. Notebook list is:', Notebook_list)

#Filter the list with e letter
delivery_list

new_delivery_list = []
for item in delivery_list:
    if 'e' in item:
        new_delivery_list.append(item)

print ('\t18. Filtered list with items containing e:', new_delivery_list)

new_list_compre = [item for item in delivery_list if 'e' in item]
print ('\t18. Filtered list by list comprehension:', new_list_compre)

#Remove duplicate items
delivery_list.extend(['Ink', 'Marker'])
print('\t   ', delivery_list)

for item in delivery_list:
    if delivery_list.count(item) > 1:
        delivery_list.remove(item)

print('\t19. Duplicate remove list:',delivery_list)
print('\t19. Duplicate remove list:',list(set(delivery_list)))

#######################################################################################
# 17. Using a nested list comprehension, create a list of lists where each sublist contains an item 
# and its length, then print the new list.
#######################################################################################

#without list comprehension
nested_list = []
for item in delivery_list:
    nested_list.append([item, len(item)])

print('\t17. ', nested_list[-1:-6:-1])

#Using list comprehension printing nested list
nested_list = [[item,len(item)] for item in delivery_list]
print('\t17. Nested list with length:', nested_list[:5])

Copy after login

Answers:

PS C:\Projects\PythonSuresh> python Tasks_list.py
        1. Third item in the list['Notebook', 'Pencil', 'Eraser', 'Ruler', 'Marker'] is: Eraser
        2. Updated delivery list is: ['Notebook', 'Pencil', 'Eraser', 'Ruler', 'Marker', 'Glue Stick']
        3. Updated list by inserting Highlighter b/w 2nd &3rd: ['Notebook', 'Pencil', 'Highlighter', 'Eraser', 'Ruler', 'Marker', 'Glue Stick']
        4. Updated list after removing Ruler is: ['Notebook', 'Pencil', 'Highlighter', 'Eraser', 'Marker', 'Glue Stick']
        5. Sublist of first three elements using loop: ['Notebook', 'Pencil', 'Highlighter']
           Sublist of first three elements using slicing: ['Notebook', 'Pencil', 'Highlighter']
        6. Uppercase list of delivery items: ['NOTEBOOK', 'PENCIL', 'HIGHLIGHTER', 'ERASER', 'MARKER', 'GLUE STICK']
        6. Uppercase list using list compre: ['NOTEBOOK', 'PENCIL', 'HIGHLIGHTER', 'ERASER', 'MARKER', 'GLUE STICK']
        7. Marker is found 1 times
        8. Number of delivery item from ['Notebook', 'Pencil', 'Highlighter', 'Eraser', 'Marker', 'Glue Stick'] is:  6
        9. Sorted delivery list is ['Eraser', 'Glue Stick', 'Highlighter', 'Marker', 'Notebook', 'Pencil']
        10. Reverse list of delivery list is ['Pencil', 'Notebook', 'Marker', 'Highlighter', 'Glue Stick', 'Eraser']
        11. First delivery item and time ['Letter', '10:00']
        Paired list using zip: [('Pencil', '11:00'), ('Notebook', '11:20')]
        Item_time_list using list comprehension:  [['Pencil', '11:00']]
        12. The count of Ruler in delivery list is: 0
        13. Index of Pencil in ['Pencil', 'Notebook', 'Marker', 'Highlighter', 'Glue Stick', 'Eraser', 'Laptop'] is 0
        14. Extend list by extend: ['Pencil', 'Notebook', 'Marker', 'Highlighter', 'Glue Stick', 'Eraser', 'Laptop', 'Ink', '']
        15. Clearing the list using clear(): []
        16. Notebook list is: ['Notebook', 'Notebook', 'Notebook']
        18. Filtered list with items containing e: ['Pencil', 'Notebook', 'Marker', 'Highlighter', 'Glue Stick', 'Eraser']
        18. Filtered list by list comprehension: ['Pencil', 'Notebook', 'Marker', 'Highlighter', 'Glue Stick', 'Eraser']
            ['Pencil', 'Notebook', 'Marker', 'Highlighter', 'Glue Stick', 'Eraser', 'Laptop', 'Ink', '', 'Ink', 'Marker']
        19. Duplicate remove list: ['Pencil', 'Notebook', 'Highlighter', 'Glue Stick', 'Eraser', 'Laptop', '', 'Ink', 'Marker']
        19. Duplicate remove list: ['', 'Ink', 'Pencil', 'Notebook', 'Marker', 'Eraser', 'Laptop', 'Highlighter', 'Glue Stick']
        17.  [['Marker', 6], ['Ink', 3], ['', 0], ['Laptop', 6], ['Eraser', 6]]
        17. Nested list with length: [['Pencil', 6], ['Notebook', 8], ['Highlighter', 11], ['Glue Stick', 10], ['Eraser', 6]]
Copy after login

The above is the detailed content of Python - Lists and Tasks. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to solve the permissions problem encountered when viewing Python version in Linux terminal? How to solve the permissions problem encountered when viewing Python version in Linux terminal? Apr 01, 2025 pm 05:09 PM

Solution to permission issues when viewing Python version in Linux terminal When you try to view Python version in Linux terminal, enter python...

How to avoid being detected by the browser when using Fiddler Everywhere for man-in-the-middle reading? How to avoid being detected by the browser when using Fiddler Everywhere for man-in-the-middle reading? Apr 02, 2025 am 07:15 AM

How to avoid being detected when using FiddlerEverywhere for man-in-the-middle readings When you use FiddlerEverywhere...

How to efficiently copy the entire column of one DataFrame into another DataFrame with different structures in Python? How to efficiently copy the entire column of one DataFrame into another DataFrame with different structures in Python? Apr 01, 2025 pm 11:15 PM

When using Python's pandas library, how to copy whole columns between two DataFrames with different structures is a common problem. Suppose we have two Dats...

How does Uvicorn continuously listen for HTTP requests without serving_forever()? How does Uvicorn continuously listen for HTTP requests without serving_forever()? Apr 01, 2025 pm 10:51 PM

How does Uvicorn continuously listen for HTTP requests? Uvicorn is a lightweight web server based on ASGI. One of its core functions is to listen for HTTP requests and proceed...

How to solve permission issues when using python --version command in Linux terminal? How to solve permission issues when using python --version command in Linux terminal? Apr 02, 2025 am 06:36 AM

Using python in Linux terminal...

How to teach computer novice programming basics in project and problem-driven methods within 10 hours? How to teach computer novice programming basics in project and problem-driven methods within 10 hours? Apr 02, 2025 am 07:18 AM

How to teach computer novice programming basics within 10 hours? If you only have 10 hours to teach computer novice some programming knowledge, what would you choose to teach...

How to get news data bypassing Investing.com's anti-crawler mechanism? How to get news data bypassing Investing.com's anti-crawler mechanism? Apr 02, 2025 am 07:03 AM

Understanding the anti-crawling strategy of Investing.com Many people often try to crawl news data from Investing.com (https://cn.investing.com/news/latest-news)...

See all articles