1.什么是[]?
答:bu包含任何值的列表
2.如何將’hello’賦給列表的第三個(gè)值,而列表保存在名為spam 的變量中?(假
定變量包含[2, 4, 6, 8, 10])。
答:spam[2]=‘hello’
對(duì)接下來的3 個(gè)問題,假定spam 包含列表[‘a(chǎn)’, ‘b’, ‘c’, ‘d’]。
3.spam[int(‘3’ * 2) / 11]求值為多少?
答:‘d’
4.spam[-1]求值為多少?
答:‘d’
5.spam[:2]求值為多少?
答:[‘a(chǎn)’, ‘b’]
對(duì)接下來的3 個(gè)問題。假定bacon 包含列表[3.14, ‘cat’, 11, ‘cat’, True]。
6.bacon.index(‘cat’)求值為多少?
答:1
7.bacon.append(99)讓bacon 中的列表值變成什么樣?
答:[3.14, ‘cat’, 11, ‘cat’, True,99]
8.bacon.remove(‘cat’)讓bacon 中的列表時(shí)變成什么樣?
答;[3.14, 11,‘cat’, True]
9.列表連接和復(fù)制的操作符是什么?
答:列表連接:+,列表復(fù)制:*
10.a(chǎn)ppend()和insert()列表方法之間的區(qū)別是什么?
答:append()方法將參數(shù)添加到列表末尾;insert()方法在列表任意下標(biāo)處插入一個(gè)值。insert()方法的第一個(gè)參數(shù)是新值的下標(biāo),第二個(gè)參數(shù)是要插入的新值。
11.從列表中刪除值有哪兩種方法?
答:remove()移除已知的字符, del()移除知道位置不知字符的值
12.請(qǐng)說出列表值和字符串的幾點(diǎn)相似之處。
答:列表和字符串都可以傳入len(),都有下標(biāo)和切片,用于for循環(huán),連接或復(fù)制,并與in和not in操作符一起使用。
13.列表和元組之間的區(qū)別是什么?
答:列表是可變的,可以添加值、刪除值和修改值,元組不可修改的;元組輸入時(shí)用圓括號(hào)(),列表是用方括號(hào)[]
14.如果元組中只有一個(gè)整數(shù)值42,如何輸入該元組?
答:spam=(42,),末尾的逗號(hào)是必須的,否則,Python 將認(rèn)為,你只是在一個(gè)普通括號(hào)內(nèi)輸入了一個(gè)值
15.如何從列表值得到元組形式?如何從元組值得到列表形式?
答:list()和tuple()函數(shù)來轉(zhuǎn)換類型
16.“包含”列表的變量,實(shí)際上并未真地直接包含列表。它們包含的是什么?
答:包含對(duì)列表值的引用
17.copy.copy()和copy.deepcopy()之間的區(qū)別是什么?
答:copy.copy()函數(shù)將淺拷貝列表,而copy.deepcopy()函數(shù)將深拷貝列表。也就是說,只有copy.deepcopy()會(huì)復(fù)制列表內(nèi)的所有列表。
1.逗號(hào)代碼
假定有下面這樣的列表:
spam = [‘a(chǎn)pples’, ‘bananas’, ‘tofu’, ‘cats’]
編寫一個(gè)函數(shù),它以一個(gè)列表值作為參數(shù),返回一個(gè)字符串。該字符串包含所
有表項(xiàng),表項(xiàng)之間以逗號(hào)和空格分隔,并在最后一個(gè)表項(xiàng)之前插入and。例如,將
前面的spam 列表傳遞給函數(shù),將返回’apples, bananas, tofu, and cats’。但你的函數(shù)應(yīng)
該能夠處理傳遞給它的任何列表。
答:
def comma(test): string='' for index in range(len(test)): if index == len(test)-2: string+=test[index]+', and ' elif index < len(test)-2: string+=test[index]+',' else: string+=test[index] return stringspam=[]print('請(qǐng)輸入字符(以end結(jié)束):')while True: s=input() if s=='end': break else: spam.append(s)
print(comma(spam))
2.字符圖網(wǎng)絡(luò)
假定有一個(gè)列表的列表,內(nèi)層列表的每個(gè)值都是包含一個(gè)字符的字符串,像這樣:
grid = [['.', '.', '.', '.', '.', '.'],['.', 'O', 'O', '.', '.', '.'],['O', 'O', 'O', 'O', '.', '.'],['O', 'O', 'O', 'O', 'O', '.'],['.', 'O', 'O', 'O', 'O', 'O'],['O', 'O', 'O', 'O', 'O', '.'],['O', 'O', 'O', 'O', '.', '.'],['.', 'O', 'O', '.', '.', '.'],['.', '.', '.', '.', '.', '.']]
你可以認(rèn)為grid[x][y]是一幅“圖”在x、y 坐標(biāo)處的字符,該圖由文本字符組
成。原點(diǎn)(0, 0)在左上角,向右x 坐標(biāo)增加,向下y 坐標(biāo)增加。
復(fù)制前面的網(wǎng)格值,編寫代碼用它打印出圖像。
..OO.OO...OOOOOOO..OOOOOOO...OOOOO.....OOO.......O....
提示 你需要使用循環(huán)嵌套循環(huán),打印出grid[0][0],然后grid[1][0],然后grid[2][0],以此
類推,直到grid[8][0]。這就完成第一行,所以接下來打印換行。然后程序?qū)⒋蛴〕?br>grid[0][1],然后grid[1][1],然后grid[2][1],以此類推。程序最后將打印出grid[8][5]。
而且,如果你不希望在每次print()調(diào)用后都自動(dòng)打印換行,記得向print()傳遞
end 關(guān)鍵字參數(shù)。
答:
def picture(test): for j in range(len(test[0])): for i in range(len(test)): print(test[i][j],end='') print() grid = [['.', '.', '.', '.', '.', '.'],['.', 'O', 'O', '.', '.', '.'],['O', 'O', 'O', 'O', '.', '.'],['O', 'O', 'O', 'O', 'O', '.'],['.', 'O', 'O', 'O', 'O', 'O'],['O', 'O', 'O', 'O', 'O', '.'],['O', 'O', 'O', 'O', '.', '.'],['.', 'O', 'O', '.', '.', '.'],['.', '.', '.', '.', '.', '.']]picture(grid)
聯(lián)系客服