day06列表作業
1.生成50-300之間可重複的 10個資料 存放於列表中, 保證列表中元素的順序,對列表進行排重,並對列表使用排序演算法進行降序排序
例如:隨機生成了[70, 88, 91, 70, 107, 234, 91, 177, 282, 197]
--- 去重之後 [70, 88, 91, 107, 234, 177, 282, 197]
---- 降序排序 [282, 234, 197, 177, 107, 91, 88, 70]
from random import randint
nums = list(set([randint(50, 300) for i in range(10)]))
nums.sort(reverse=True)
print(nums)
2.利用列表推導式, 完成以下需求
a. 生成一個存放1-100中各位數為3的資料列表
結果為 [3, 13, 23, 33, 43, 53, 63, 73, 83, 93]
nums = [num for num in range(3, 100, 10)]
print(nums)
b. 利用列表推到是將 列表中的整數提取出來
例如:[True, 17, "hello", "bye", 98, 34, 21] --- [17, 98, 34, 21]
lst = [True, 17, "hello", "bye", 98, 34, 21]
nums_int = [num for num in lst if type(num)==type(1)]
print(nums_int)
c.利用列表推導式 存放指定列表中字串的長度
例如 ["good", "nice", "see you", "bye"] --- [4, 4, 7, 3]
lst = ["good", "nice", "see you", "bye"]
lenthes = [len(word) for word in lst]
print(lenthes)
3.已知程式碼如下,請回答出各個print的結果 並說明原因
nums = [17, 39, 28, 51]
nums2 = nums
nums2.pop()
print(len(nums)) # 這個結果是什麼 請描述原因
numlist = [17, 22, 39, 58, [55, 43]]
nums3 = numlist.copy()
print(numlist is nums3) # 結果 原因是什麼
numlist[-1][0] = 99
print(nums3) # num3會不會發生變化
結果:3
nums有4個元素
把nums變數名直接賦值給nums2,是把nums的地址賦值給了nums2,兩個變數有同一個值
當nums2使用pop()方法拿出該地址中的列表的最後一個元素51後,該地址還剩3個元素
所以nums的長度,也和nums2一樣只剩3
結果:False
結果:我本以為num3不會變化,但其實會變,因為是淺拷貝
numlist的值使用copy()方法賦值給nums3,但是他們的值是列表,是可變的,所以地址不同,當使用is的時候,是判斷他們的地址,所以結果是False;
地址不同,對其中一個變數進行修改不會改變另一個的值。但是copy()是淺複製,兩個變數有不同的地址,但是在更深的地方,還是同一個地址,比如列表中的元素列表中的元素同樣被修改;
4.自己用程式碼實現列表相關方法的功能:count、index、extend、clear
# count
def my_count(item, lst):
return sum([True for i in lst if i==item])
# index
def my_index(item, lst):
return [i for i, x in enumerate(lst) if x==item][0]
# extend
def my_extend(iteration, lst):
lst += [i for i in iteration]
return lst
# clear
def my_clear(lst):
[lst.remove(i) for i in lst[:]]
相關文章
- 01-列表作業
- 物聯網作業系統列表作業系統
- day06 go mapGo
- 嵌入式day06
- 如何製作專案管理列表專案管理
- C#winform製作學生列表C#ORM
- 製作首頁的顯示列表
- 作業系統 作業5作業系統
- 傳智黑馬python基礎學習——day06Python
- 作業
- Python全棧開發武沛齊day06模組Python全棧
- MetaGPT day06 Environment元件原始碼 多智慧體辯論GPT元件原始碼智慧體
- 【團隊作業】第三週作業1
- 作業系統(一):作業系統概述作業系統
- 作業系統(1)——作業系統概述作業系統
- 作業四
- 作業三
- 作業二
- 作業01
- 作業一
- 作業1
- python作業Python
- 作業2
- 2024.6.27作業
- 作業7
- 2024.6.24作業
- 2024.6.20作業
- 2024.6.21作業
- 2024.3.15作業
- 2024.3.14作業
- 2024.3.13作業
- 2024.3.12作業
- 2024.4.25作業
- 2024.4.28作業
- 2024.4.12作業
- 2024.4.16作業
- 2024.5.7作業
- 2024.4.19作業