## 列表数据的过滤、修改、和替换
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]
6
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]
10
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]
14
15 # 使用生成器表达式操作列表以节省内存
16 new_nums = (i for i in nums if i >= 0)
17 print(new_nums)
18 # at 0x7f4bebb01048>
19
20 # 对于过滤条件比较复杂的列表,使用filter()函数进行过滤
21
22 def is_int(item):
23 try:
24 int(item)
25 return True