Heim  >  Artikel  >  Backend-Entwicklung  >  Python – Listen und Aufgaben

Python – Listen und Aufgaben

王林
王林Original
2024-08-01 20:19:411020Durchsuche

Python - Lists and Tasks

Nachdem wir Indizierung und Slicing gelernt hatten, begannen wir, mehr über Listen und integrierte Methoden zu lernen. Die Methoden sind

Keine Rückgabe

  • anhängen
  • einfügen
  • entfernen
  • Sortieren
  • umgekehrt
  • klar

Gibt int zurück

  • Index
  • Zählen

Gibt str zurück

  • Pop

Für kleinere Änderungen in der Lieferliste reicht die integrierte Funktion selbst aus. Wenn wir jedoch weitere Operationen mit der Liste ausführen möchten, ist eine for-Schleife oder eine if-Schleife erforderlich.

Zum Beispiel gibt es eine Liste ['Bleistift', 'Notizbuch', 'Marker', 'Textmarker', 'Klebestift', 'Radiergummi', 'Laptop', 3], in die nur eine Zeichenfolge konvertiert werden muss Großbuchstaben. Hier können wir Listen- oder String-Methoden nicht direkt verwenden. Die ideale Logik wäre

  1. Wir müssen die Liste einzeln wiederholen
  2. Überprüfen Sie, ob es sich bei dem Artikel um eine Zeichenfolge oder einen anderen Typ handelt
  3. Verwenden Sie entsprechend die String-Methode „upper()“ und „append()“

Hier ist also eine for-Schleife, wenn eine if-else-Bedingung erforderlich ist

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]

Die gestellten Aufgaben bestanden darin, mehr über solche Methoden und Logiken zu üben. Es war interessant, die verfügbare Logik oder Methoden zu finden.
Gelöste Details sind

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

Antworten:

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

Das obige ist der detaillierte Inhalt vonPython – Listen und Aufgaben. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn