1. 程式人生 > >基礎練習-python資料結構習題

基礎練習-python資料結構習題

##習題1:


列表a = [11,22,24,29,30,32]


1 把28插入到列表的末端
a.append(28)

2 在元素29後面插入元素57
a.insert(4,57)

3 把元素11修改成6
a[0]=6

3 刪除元素32
a.remove(32)

4 對列表從小到大排序
a.sort()

##習題2:


列表b = [1,2,3,4,5]


1 用2種方法輸出下面的結果:


[1,2,3,4,5,6,7,8]

(1)b.extend([6,7,8])
(2)a = [6,7,8]
a+b

2 用列表的2種方法返回結果:[5,4]
(1)a = b[3:5]
   a.reverse()
(2)a = b[-1:-3:-1]

3 判斷2是否在列表裡
2 in b

##習題3:


b = [23,45,22,44,25,66,78]


用列表解析完成下面習題:


1 生成所有奇陣列成的列表
[x for x in b if x % 2 == 1]

2 輸出結果: ['the content 23','the content 45']
["the content %s"%d for d in b[0:2]]


3 輸出結果: [25, 47, 24, 46, 27, 68, 80]
[x+2 for x in b]


##習題4:


用range方法和列表推導的方法生成列表:


[11,22,33]


##習題5:


已知元組:a = (1,4,5,6,7)


1 判斷元素4是否在元組裡
4 in a

2 把元素5修改成8
(1)先將元組改成列表;
(2)然後修改列表裡的一個值
(3)再把列表轉換成元組
程式碼如下:
b = list(a)
b[2]=8
tuple(b)
##習題6:


已知集合:setinfo = set('acbdfem')和集合finfo = set('sabcdef')完成下面操作:


1 新增字串物件'abc'到集合setinfo
setinfo.add('abc')


2 刪除集合setinfo裡面的成員m
setinfo.remove('m')

3 求2個集合的交集和並集
setinfo&finfo


##習題7:


用字典的方式完成下面一個小型的學生管理系統。


1 學生有下面幾個屬性:姓名,年齡,考試分數包括:語文,數學,英語得分。


比如定義2個同學:


姓名:李明,年齡25,考試分數:語文80,數學75,英語85
a = {'姓名':'李明','年齡':25,'考試分數':{'語文':75,'數學':82,'英語':78}}

姓名:張強,年齡23,考試分數:語文75,數學82,英語78

b = {'姓名':'張強','年齡':23,'考試分數':{'語文':75,'數學':82,'英語':78}}


2 給學生新增一門python課程成績,李明60分,張強:80分

a['考試分數']['python'] = 60

b['考試分數']['python'] = 80

3 把張強的數學成績由82分改成89分
b['考試分數']['數學']=89

4 刪除李明的年齡資料

del b['年齡']

5 對張強同學的課程分數按照從低到高排序輸出。
 c = b['考試分數'].values()
 d = list(c)
 d.sort()
 d

6 外部刪除學生所在的城市屬性,不存在返回字串 beijing

a.pop('city','beijing')
b.pop('city','beijing')