基礎練習-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')