Python函式作業小結2(程式碼優化後)
阿新 • • 發佈:2021-01-13
技術標籤:python
Python函式小結2
作業1
過濾掉該列表names = ["jerry","hansen","Amy","Wendy","Tom","Bob"]
長度小於或等於3的字串列表,並將剩下的轉換成大寫字母。
names = ["jerry", "hansen", "Amy", "Wendy", "Tom", "Bob"]
filter_data = [i.upper() for i in names if len(i) > 3] # 先過濾掉字串長度小於等於3的元素,再把剩下的元素全部變成大寫
print(filter_data)
輸出1:
['JERRY', 'HANSEN', 'WENDY']
作業2
求(x,y),其中x是0-5之間的偶數,y是0-5之間的奇陣列成的元組列表。
效果如下:[(0, 1), (0, 3), (2, 1), (2, 3), (4, 1), (4, 3)]
# 方法1:
a = [(x, y) for x in range(0, 5, 2) for y in range (1, 5, 2)]
print(a)
# 方法2:
a = [(x, y) for x in range(0, 5) if x % 2 == 0 for y in range(0, 5) if y % 2 == 1]
print(a)
輸出2:
[(0, 1), (0, 3), (2, 1), (2, 3), (4, 1), (4, 3)]
作業3
[ 'Bob','JOHN','alice','bob','ALICE','James','Bob','JAMES','jAMeS' ]
該列表很紊亂,實現去重,以及將名字格式統一成首字母大寫(str.capitalize())
list1 = [ 'Bob', 'JOHN', 'alice', 'bob', 'ALICE', 'James', 'Bob', 'JAMES', 'jAMeS']
list2 = {str.capitalize(j) for j in list1} # 把list1去掉重複,再把剩下的字串首字母變成大寫
print(list2)
輸出3:
['Alice', 'Bob', 'James', 'John']