python列表修改資料 過濾 修改和替換列表資料

2021-10-19 02:04:54 字數 1457 閱讀 8165

##  列表資料的過濾、修改、和替換

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...