cxzday7 列表和字典作業

2021-10-17 20:48:29 字數 3940 閱讀 4838

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,...