Python - Listes et tâches

王林
Libérer: 2024-08-01 20:19:41
original
913 Les gens l'ont consulté

Python - Lists and Tasks

Après avoir appris l'indexation et le découpage, nous avons commencé à en apprendre davantage sur les listes et les méthodes intégrées. Les méthodes sont

Ne renvoie aucun

  • ajouter
  • insérer
  • supprimer
  • Trier
  • inverse
  • effacer

Retours int

  • index
  • compter

Renvoie str

  • pop

Pour des modifications mineures dans la liste de livraison, la fonction intégrée elle-même suffit. Mais lorsque nous voulons faire plus d’opérations avec la liste, une boucle for, une boucle if sera nécessaire.

Par exemple, il existe une liste ['Crayon', 'Cahier', 'Marqueur', 'Surligneur', 'Bâton de colle', 'Gomme', 'Ordinateur portable', 3] où seule la chaîne doit être convertie en haut de casse. Ici, nous ne pouvons pas utiliser directement les méthodes de liste ou de chaîne. La logique idéale serait

  1. nous devons parcourir la liste une par une
  2. Vérifiez que l'élément est une chaîne ou un autre type
  3. Utilisez la méthode de chaîne upper() et append() en conséquence

Donc ici pour la boucle, si, sinon une condition est nécessaire

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]
Copier après la connexion

Les tâches confiées consistaient à s'entraîner davantage sur ces méthodes et logiques. c'était intéressant de trouver la logique ou les méthodes disponibles.
Les détails résolus sont

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])

Copier après la connexion

Réponses :

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]]
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!