1.建立乙個列表,列表中有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]
nums =[70
,88,91
,70,107
,234,91
,177
,282
,197
]new_nums =
for x in nums:
if x in new_nums:
print
(sorted
(new_num,reverse =
true
))
2.利用列表推導式, 完成以下需求
a. 生成乙個存放1-100中各位數為3的資料列表
結果為 [3, 13, 23, 33, 43, 53, 63, 73, 83, 93]
nums =
[x for x in
range(1
,101
)if x %
10==
3]
b. 利用列表推導式將 列表中的整數提取出來
例如:[
true,17
,"hello"
,"bye",98
,34,21
]---
[17,98
,34,21
]
nums =
[true,17
,"hello"
,"bye",98
,34,21
]new_nums =
[x for x in nums if
type
(x)==
int]
c.利用列表推導式 存放指定列表中字串的長度
例如 [
"good"
,"nice"
,"see you"
,"bye"]-
--[4
,4,7
,3]
str1 =
["good"
,"nice"
,"see you"
,"bye"
]new_nums =
[len
(x)for x in str1 ]
3.已知**如下,請回答出各個print的結果 並說明原因
nums =[17
,39,28
,51]nums2 = nums
nums2.pop(
)print
(len
(nums)
)# 這個結果是什麼 請描述原因
# 結果是[17, 39, 28] 因為把nums賦值給nums2,不會產生乙個新的位址。所以nums2.pop()取掉的就是nums裡的最後一位元素
numlist =[17
,22,39
,58,[
55,43]
]nums3 = numlist.copy(
)print
(numlist is nums3)
# 結果 原因是什麼 結果是false ,因為numlist是可變資料,numlist.copy()會產生乙個不同位址的列表,is的實質的判斷兩個資料的位址是否一樣,所以為false
numlist[-1
][0]
=99print
(nums3)
# num3會不會發生變化 buhui
4.定義乙個列表,在列表中儲存6個學生的資訊(學生資訊中包括: 姓名、年齡、成績(單科)、**、性別(男、女、不明) )
a.統計不及格學生的個數
b.列印不及格學生的名字和對應的成績
c.統計未成年學生的個數
d.列印手機尾號是8的學生的名字
e.列印最高分和對應的學生的名字
f.刪除性別不明的所有學生
g.將列表按學生成績從大到小排序(掙扎一下,不行就放棄)
students =[,
,,,,
]# a.
scores =
[x['score'
]for x in students if x[
'score'
]<60]
print
(len
(scores)
)# 不及格個數2
# b.
for stu in students:
if stu[
'score'
]<60:
print
(stu[
'name'
], stu[
'score'])
# stu2 59 stu5 54
# c.
count =
0for stu in students:
if stu[
'age'
]<18:
count +=
1print
(count)
# d.
for stu in students:
ifint
(stu[
'tel'])
%10==8
:print
(stu[
'name'
])
# e.
score2 =
[x['score'
]for x in students]
new_score2 =
sorted
(score2)
print
(new_score2[5]
)# 最高分
for stu in students:
if stu[
'score'
]== new_score2[5]
:print
(stu[
'name'])
#名字
# f.
count =
0for stu in students:
count +=
1if stu[
'gender']==
'不明'
:del students[count-1]
print
(students)
# g.
new_students =
score =
[x['score'
]for x in students]
new_score =
sorted
(score, reverse =
true
)for x in
range(6
):for stu in students:
if stu[
'score'
]== new_score[x]
:print
(new_students)
day7 列表和字典作業
1.建立乙個列表,列表中有10個舒宗,保證列表中元素的順序,對列表進行排重,並對列表使用進行降序排序 例如 隨機生成了 70,88,91,70,107,234,91,177,282,197 去重之後 70,88,91,107,234,177,282,197 降序排序 282,234,197,177,...
day7 列表和字典作業
1.建立乙個列表,列表中有10個元素,保證列表中元素的順序,對列表進行排重,並對列表使用進行降序排序 例如 隨機生成了 70,88,91,70,107,234,91,177,282,197 去重之後 70,88,91,107,234,177,282,197 降序排序 282,234,197,177,...
day7 列表和字典作業
1.建立乙個列表,列表中有10個資料,保證列表中元素的順序,對列表進行排重,並對列表使用進行降序排序 例如 隨機生成了 70,88,91,70,107,234,91,177,282,197 去重之後 70,88,91,107,234,177,282,197 降序排序 282,234,197,177,...