python for in中的in

for in 和if in  中的in是什么意思,我之前的理解是做比较相当于什么什么与什么什么,不过好像in  并不是我现象中的那样,谁能指点一下

爱吃小鱼干3457117
浏览 2500回答 2
2回答

清波

首先 in 在Python 中是操作符,具体来说是 成员操作符。就是对于序列(字符串,元组,列表)或集合(set)或映射(字典)这些数据类型 做 成员判断,自然成员判断的返回是 在其中和不在其中,用Python 的说法就是 True , False ,也就是说 xx in xxx 是可以用在 诸如: if xx in xxx, while xx in xxx 等等典型的需要判断的情况(不止如此,还有更多)。代码如下:a = 1 b = (1,2,3) c = [1,2,3] d = {1:"a",2:"b",c:"3"} e = {1,2,3} f = "123" if a in b:     do something     .     .     . if a in f:     do something #完全 do 不了,因为不在其中。。。作为成员操作符 跟另外一个关键字 not 配合,组成不能再优雅的 非成员判断: 不在其中。这对第一次接触这类语法的人,尤其是有其他语言基础的人,有很大的价值观冲击(我就是)。。。代码如下:if a not in f;     do something然后,更大冲击要来了, JS 在上个版本中也引入了类似的语法。 for xx in xxx: do something with xx or not。这是对 关键字 in的重载,在这里解释下 重载,代码如下:print 1+2 3 print "1"+"2" "13"如上,就是对 加号 + 的重载(对于不同的数据类型,加号表现出不同的行为),严格来说,for 循环中的 in 的重用算不算重载,我也说不清楚。姑且算吧。 代码如下:for i in a:     print i # do something with i      for i in a:     print "%" # do noting with i基本就这些吧。

飞翔32993

以下只是个人理解,仅供参考:1、首先 in 关键字,从字面上理解为,在什么里面2、有了1的理解分析如下代码s = ["a","b","c"] for v in s:     print(v) print("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~") def test(v):     if v in s:         print(u'当前值在s集合里面')     else:         print(u'当前值不在s集合里面') test('b') test("m") print("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~") def test2(v):     if v not in s:         print(u'当前值不在s集合里面')     else:         print(u'当前值在s集合里面') test2('m') test('b')3、通过如上代码执行结果可以看出,当与for循环一起使用的时候,其实是把集合的元素分别赋值给in之前的变量,而在和if一起使用时就如你所说,判断XXX是否存在于XXX之中(在和if使用时还有一个与此相反的:not in),希望能帮到你如上代码如果是在python2版本中运行可以吧print() 替换为 print 
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python