## 列表資料的過濾、修改、和替換
1 # 使用推導式過濾、修改和替換資料
2 nums = [10,4,33,-54,54,-6,34,-5,23,56,-87,43,-4,3]
3 new_nums = [i for i in nums if i >= 0] # 過濾掉小於0的元素
4 print(new_nums)
5 # [10, 4, 33, 54, 34, 23, 56, 43, 3]
7 new_nums = [abs(i) for i in nums] # 將所有元素值修改為其絕對值
8 print(new_nums)
9 # [10, 4, 33, 54, 54, 6, 34, 5, 23, 56, 87, 43, 4, 3]
11 new_nums = [i if i >= 0 else 0 for i in nums] # 將小於0的元素替換為0
12 print(new_nums)
13 # [10, 4, 33, 0, 54, 0, 34, 0, 23, 56, 0, 43, 0, 3]
15 # 使用生成器表示式操作列表以節省記憶體
16 new_nums = (i for i in nums if i >= 0)
17 print(new_nums)
18 # at 0x7f4bebb01048>
20 # 對於過濾條件比較複雜的列表,使用filter()函式進行過濾
22 def is_int(item):
23 try:
24 int(item)
25 return true
26 except valueerror:
27 return false
29 items = ['a', '1', '-28', '2.42', 'b', '-8.34']
30 print(list(filter(is_int, items)))
31 # ['1', '-28']
33 # itertools.compress()過濾資料
34 from itertools import compress
37 nums = [10,4,33,-54,54,-6,34,-5,23,56,-87,43,-4,3]
38 is_greater_than_0 = [i > 0 for i in nums] # 建立布林值序列
39 print(is_greater_than_0)
40 # [true, true, true, false, true, false, true, false, true, true, false, true, false, true]
42 print(list(compress(nums, is_greater_than_0))) # 為true的被保留,為false的被過濾
43 # [10, 4, 33, 54, 34, 23, 56, 43, 3]
修mysql資料庫名 MySQL修改資料庫名
mysql 修改資料庫名 如果是myisam 的話,只要修改 data 目錄下面的那 個庫名的資料夾的名字就 ok了。如果是innodb 的話,其實是無法修改庫名的 網上有些人瞎咧咧的什麼 rename database 或者alter database 都是不行 的,有些誤導,今天特地做了下試驗。...
python列表過濾
寫 時會遇到這樣的需求 從指定列表中刪除不符合要求的元素。這時直觀的做法就是遍歷整個列表,遇到不符合要求的就刪除。但是下面這種寫法是錯的 for item in list if not wanted item list.remove item return list出錯的原因是python不允許在遍...
dev c 修改資料
今天看完 linux kernel moduletcp ip 程式設計 中實現ping命令是顯示hello module 的資料報程式後,也完成了試驗現在總結如下 步驟一 在 net core dev.c中增加後門 int eefunction01 struct sk buff 0 這是函式eefu...