列表和元組作業
1,寫程式碼,有如下列表,按照要求實現每一個功能
li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]
1)計算列表的長度並輸出
2)列表中追加元素"seven",並輸出新增後的列表
3)請在列表的第1個位置插⼊入元素"Tony",並輸出新增後的列表
4)請修改列表第2個位置的元素為"Kelly",並輸出修改後的列表
5)請將列表l2=[1,"a",3,4,"heart"]的每一個元素新增到列表li中,一行程式碼實 現,不允許迴圈新增。
6)請將字串串s = "qwert"的每一個元素新增到列表li中,一行程式碼實現,不允許迴圈新增。
8)請刪除列表中的第2個元素,並輸出刪除的元素和刪除元素後的列表
9)請刪除列表中的第2⾄至4個元素,並輸出刪除元素後的列表
10)請將列列表所有得元素反轉,並輸出反轉後的列表
11)請計算出"alex"元素在列表li中出現的次數,並輸出該次數。
li = ["alex", "WuSir", "ritian", "barry", "wenzhou"] print(len(li)) li.append("seven") print(li) li.insert(1,"Tony") print(li) li[1]="Kelly" print(li) l2=[1,"a",3,4,"heart"] li.extend(l2) print(li) s = "qwert" li.extend(s) print(li) print(li.pop(1)) print(li) del li[1:4] print(li) li.reverse() print(li) print(li.count("alex"))
2,寫程式碼,有如下列表,利用切片實現每一個功能
li = [1, 3, 2, "a", 4, "b", 5,"c"]
1)通過對li列表的切片形成新的列表l1,l1 = [1,3,2]
2)通過對li列表的切片形成新的列表l2,l2 = ["a",4,"b"]
3)通過對li列表的切片形成新的列表l3,l3 = ["1,2,4,5]
4)通過對li列表的切片形成新的列表l4,l4 = [3,"a","b"]
5)通過對li列表的切片形成新的列表l5,l5 = ["c"]
6)通過對li列表的切片形成新的列表l6,l6 = ["b","a",3]
li = [1, 3, 2, "a", 4, "b", 5,"c"] print(li[:3]) print(li[3:6]) print(li[::2]) print(li[1:6:2]) print(li[-1::]) print(li[-3::-2])
3,寫程式碼,有如下列表,按照要求實現每一個功能。
lis = [2, 3, "k", ["qwe", 20, ["k1", ["tt", 3, "1"]], 89], "ab", "adv"]
1)將列表lis中的"tt"變成大寫(用兩種方式)。
2)將列表中的數字3變成字元串"100"(用兩種方式)。
3)將列表中的字元串"1"變成數字101(用兩種方式)。
lis = [2, 3, "k", ["qwe", 20, ["k1", ["tt", 3, "1"]], 89], "ab", "adv"] #1)將列表lis中的"tt"變成⼤寫(⽤兩種⽅式)。 lis[3][2][1][0] = lis[3][2][1][0].upper() lis[3][2][1][0] = lis[3][2][1][0].replace("t", "T") lis[3][2][1][0] = "TT" lis[3][2][1][0] = lis[3][2][1][0].swapcase() #2)將列表中的數字3變成字串"100"(⽤兩種⽅式)。 lis[3][2][1][1] = "100" lis[3][2][1][1] = str(lis[3][2][1][1] + 97) lis[1] = str(lis[1] + 97) #3)將列表中的字串"1"變成數字101(⽤兩種⽅式)。 lis[3][2][1][2] = 101 lis[3][2][1][2] = int(lis[3][2][1][2]) + 100 lis[3][2][1][2] = int(lis[3][2][1][2] + "01")
4,請用程式碼實現:
li = ["alex", "eric", "rain"] 利用下劃線將列表的每一個元素拼接成字元串"alex_eric_rain"
li = ["alex", "eric", "rain"] # alex_eric_rain 1+2+3+4 s = "" for item in li: # item 列表中的每一個名字 s += item + "_" # "alex_eric_rain_" s = s[:-1] print(s)
5.利用for迴圈和range打印出下面列表的索引。
li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]
li = ["alex", "WuSir", "ritian", "barry", "wenzhou"] for i in range(len(li)): print(i)
6.利用for迴圈和range找出100以內所有的偶數並將這些偶數插入到一個新列表 中。
lst = [] for i in range(100): if i % 2 == 0: lst.append(i) print(lst)
7.利用for迴圈和range 找出50以內能被3整除的數,並將這些數插入到一個新列 表中。
lst = [] for i in range(50): if i % 3 == 0: lst.append(i) print(lst)
8.利用for迴圈和range從100~1,倒序列印。
for i in range(100, 0, -1): print(i)
9.利用for迴圈和range從100~10,倒序將所有的偶數新增到一個新列表中,然後對列表的元素進行篩選,將能被4整除的數留下來。
lst = [] for i in range(100, 9, -2): if i % 4 == 0: lst.append(i) print(lst)
10,利用for迴圈和range,將1-30的數字一次新增到一個列表中,並迴圈這個列表,將能被3整除的數改成*。
lst = [] for i in range(1, 31): lst.append(i) for i in range(len(lst)): if lst[i] % 3 == 0: lst[i] = "*" # 修改成* print(lst)
11,查詢列列表li中的元素,移除每個元素的空格,並找出以"A"或者"a"開頭,並 以"c"結尾的所有元素,並新增到一個新列表中,後迴圈列印這個新列表。
li = ["TaiBai ", “ale xC", “AbC ", "egon", " ri TiAn", "WuSir", " aqc"]
li = ["TaiBai ", "ale xC", "Abc ", "egon", " ri TiAn", "WuSir", " aqc"] lst = [] for item in li: # 去空格 content = item.replace(" ", "") if (content.upper().startswith("A")) and content.endswith("c"): lst.append(content) print(lst)
12,開發敏感詞語過濾程式,提示使用者輸入評論內容,如果使用者輸入的內容中 包含特殊的字元:
敏感詞列表 li = ["蒼老師", "東京熱", "武藤蘭", "波多野結衣"] 則將使用者輸入的內容中的敏感詞彙替換成等長度的*(蒼老師就替換***),並添 加到一個列表中;如果使用者輸入的內容沒有敏感詞彙,則直接新增到上述的列 表中。
li = ["蒼老師", "東京熱", "武藤蘭", "波多野結衣", "sb","dsb"] concent = input("輸入評論").strip() for i in li: # i是每一個敏感詞 if i in concent: #判斷是否包含敏感詞 concent = concent.replace(i,"*"*len(i)) #替換敏感詞為* print(concent)
13,有如下列表
li = [1, 3, 4, "alex", [3, 7, 8, "TaiBai"], 5, "RiTiAn"] 迴圈列印列表中的每個元素,遇到列表則再迴圈打印出它里面的元素。 我想要的結果是:
1
3
4
alex
3
7
8
taibai
5
ritian
li = [1, 3, 4, "alex", [3, 7, 8, "TaiBai"], 5, "RiTiAn"] for el in li: # 獲取到第一層內容 if type(el) == list: # 判斷元素是否是xxx資料型別 for item in el: # 迴圈內層列表 print(str(item).lower()) else: print(str(el).lower())
14. 把班級學生數學考試成績錄入到一個列表中: 並求平均值要求: 錄入的時候 要帶著人名錄入,
例如: 張三_44
names = [] sum=0 while 1: conter = input("請輸入姓名_分數") if conter.upper() == "Q": break else: names.append(conter) for i in names: s = i.split("_") sum += int(s[1]) print(sum / len(names))
15. 敲七遊戲. 從0開始數. 遇到7或者7的倍數要在桌上敲一下. 程式設計來完成敲
n = [] conter = input("請輸入數字:") for i in range(1,int(conter)): if i % 7 == 0 or str(7) in str(i): i = "咣" s.append(i) else: s.append(i) print(s)
16. (升級題) 編寫程式. 完成心動女⽣生的篩選. (升級題)
首先. 程式會提示使用者錄入10位心儀女生的姓名. 然後把10位女生的名 字和序號展示出來. 由使用者選擇⼼心動女生. 此時⽤使用者可以選擇3個心動女⽣生. 把用 戶選中的三個心動女生的名字打印出來. 供使用者繼續選擇. 這一次選擇.只能選 擇一名女生. 然後輸出使用者的心動女生是xxx 運行效果:
chuxuan_lst = [] for i in range(10): name = input("請輸入你的心動女生(還可以輸入%s個):" % (10 - i)) chuxuan_lst.append(name) # ['劉嘉玲', '林志玲', '安安', '小茹', '曉雪', '強哥', '胡辣湯', '寶寶', '萌萌', '磊磊'] # print(chuxuan_lst) print("您現在的心動女生有:") for i in range(len(chuxuan_lst)): print(i + 1, chuxuan_lst[i]) # 顯示10個女生 # 從10個裡面選擇三個 fuxuan_list = [] for i in range(3): bh = input("請輸入你要選擇的三個女生(還剩下%s個)" % (3-i)) # 編號還原回索引 index = int(bh) - 1 fuxuan_list.append(chuxuan_lst[index]) print("您現在經過初選之後剩下的心動女生:") for i in range(len(fuxuan_list)): print(i + 1, fuxuan_list[i]) bh = input("請從這三個女生中選擇一個你最喜歡的:") index = int(bh) - 1 print("您最終喜歡的女生是%s" % (fuxuan_list[index]))