學習索引和切片之後,我們開始學習更多關於清單和內建方法的知識。方法有
無回傳
- 追加
- 插入
- 刪除
- 排序
- 反向
- 清晰
回傳整數
- 索引
- 數
回傳 str
- 流行
對於交付清單的較小更改,內建功能本身就足夠了。但是當我們想要對列表進行更多操作時,就需要for循環、if循環。
例如,有一個清單 ['Pencil', 'Notebook', 'Marker', 'Highlighter', 'Glue Stick', 'Eraser', 'Laptop', 3],其中只有字串需要轉換為大寫。這裡我們不能直接使用列表或字串方法。理想的邏輯是
所以這裡for循環,需要if,else條件
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]
給的任務是多練習這些方法和邏輯。找到可用的邏輯或方法很有趣。
已解決詳情為
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])
答案:
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]]
以上是Python - 清單和任務的詳細內容。更多資訊請關注PHP中文網其他相關文章!