day7 列表和字典作業

2021-10-17 20:35:39 字數 3704 閱讀 7552

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]

list1 =[70

,88,91

,70,107

,234,91

,177

,282

,197

]list2 =

for x in list1:

if x not

in list2:

print

(list2)

list2.sort(reverse=

true

)print

(list2)

2.利用列表推導式, 完成以下需求

a. 生成乙個存放1-100中各位數為3的資料列表

結果為 [3, 13, 23, 33, 43, 53, 63, 73, 83, 93]
list1 =

[x for x in

range(1

,101

)if x %

10==3]

print

(list1)

b. 利用列表推到是將 列表中的整數提取出來

例如:[

true,17

,"hello"

,"bye",98

,34,21

]---

[17,98

,34,21

]

list1 =

[true,17

,"hello"

,"bye",98

,34,21

]list2 =

[x for x in list1 if

type

(x)==

int]

print

(list2)

c.利用列表推導式 存放指定列表中字串的長度

例如 [

"good"

,"nice"

,"see you"

,"bye"]-

--[4

,4,7

,3]

list1 =

["good"

,"nice"

,"see you"

,"bye"

]list2 =

[len

(x)for x in list1]

print

(list2)

3.已知**如下,請回答出各個print的結果 並說明原因

nums =[17

,39,28

,51]nums2 = nums

nums2.pop(

)print

(len

(nums)

)# 結果:3 原因:num2 = nums後num2的記憶體位址也會指向nums的記憶體位址,當記憶體位址裡的數值發生改變時,nums和num2都會改變

numlist =[17

,22,39

,58,[

55,43]

]nums3 = numlist.copy(

)print

(numlist is nums3)

# 結果:false 原因:numlist指向的資料是可變資料,num3複製了numlist後,會重新開闢記憶體空間存放資料,兩個變數由於記憶體位址不同is為false

numlist[-1

][0]

=99print

(nums3)

# num3會變化 原因:

4.定義乙個列表,在列表中儲存6個學生的資訊(學生資訊中包括: 姓名、年齡、成績(單科)、**、性別(男、女、不明) )

a.統計不及格學生的個數

b.列印不及格學生的名字和對應的成績

c.統計未成年學生的個數

d.列印手機尾號是8的學生的名字

e.列印最高分和對應的學生的名字

​ f.刪除性別不明的所有學生

​ g.將列表按學生成績從大到小排序(掙扎一下,不行就放棄)

# a.

count =

0for x in list1:

if x[

'grade'

]<60:

count +=

1print

(count)

# b.

for x in list1:

if x[

'grade'

]<60:

print

('不及格學生姓名:'

, x[

'name'],

'成績為:'

, x[

'grade'])

# c.

count1 =

0for x in list1:

if x[

'age'

]<18:

count1 +=

1print

(count1)

# d.

for x in list1:

if x[

'tel']%

10==8:

print

(x['name'])

# e.

list2 =

for x in list1:

'grade'])

max1 =

max(list2)

print

('最高分為:'

, max1)

for x in list1:

if x[

'grade'

]== max1:

print

('取得最高分的學生是:'

, x[

'name'])

# f.

for x in list1:

if x[

'***']==

'不明'

:del list1[list1.index(x)

]# g.

list3 =

while

len(list3)

<5:

index1 =

0 max2 = list1[0]

['grade'

]for x in list1:

if x[

'grade'

]> max2:

max2 = x[

'grade'

] index1 = list1.index(x)

)del list1[index1]

print

(list3)

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