ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

布尔值与循环:查找集合中的特定值

布尔值与循环:查找集合中的特定值 目录1.引言2.布尔值Boolean3.代码改进a.排序方法b.无限方法1.引言在前面我们讨论了关于循环的很多很多问题计数相加过滤筛选不过有时候我们只想知道集合当中有没有我们想要的值2.布尔值Boolean布尔值是一种变量的类型我们之前见到过整数类型、字符串类型、浮点数类型对于布尔类型来说只有对和错两种情况True/Falsefound False print(before, found) for i in [10,40,13,4,73,19]: if i 13: found True print(found, i) print(after, found) # before False # False 10 # False 40 # True 13 # True 4 # True 73 # True 19 # after TrueTrue和False在Python中是常量所以我们可以放心大胆的创建一个名为found的变量这个变量名易于我们去记忆它的作用这就是有意义的变量名代码开始运行首先是10不是13False40False13来了True在之后的三个数字4、73、19虽然并不是13但变量名found已经变成了True所以输出的同样也是True这相当于在提醒你13已经找到了如果你觉得麻烦呢我们之前有讨论过break我们可以通过插入break让结果一等于True就跳出循环3.代码改进a.排序方法在前面寻找最大值最小值的时候我们讨论了None Type除此之外我们将回顾一下之前所提到的排序方法numbers [-10, -40, -13, -4, -73, -19] largerst_so_far numbers[0] print(before, largerst_so_far) for the_num in numbers: if the_num largerst_so_far: largerst_so_far the_num print(largerst_so_far, the_num) print(after, largerst_so_far) # before -10 # -10 -10 # -10 -40 # -10 -13 # -4 -4 # -4 -73 # -4 -19 # after -4我们先将集合展示出来并直接给变量赋予集合中第一个值紧接着开始比较对于Python来说0代表的是第一个数1代表的是第二个数b.无限方法largerst_so_far float(-inf) print(before, largerst_so_far) for the_num in [-10, -40, -13, -4, -73, -19]: if the_num largerst_so_far: largerst_so_far the_num print(largerst_so_far, the_num) print(after, largerst_so_far) # before -inf # -10 -10 # -10 -40 # -10 -13 # -4 -4 # -4 -73 # -4 -19 # after -4我们将largest_so_far赋值为浮点数的负无穷-inf初始值已经是负无穷了在负数当中求得最大值也就不是一件难事了有负无穷就会有正无穷你想的没错正无穷就是inf把负无穷的负号去掉仅此而已快去尝试一下运用正负无穷判断大小吧
返回列表