【发布时间】:2019-03-23 16:25:26
【问题描述】:
这两个代码有区别吗?
if x in array[j] and array[j].index(x) == 0:
和,
if array[j] in x and x.index(array[j]) == 0:
如何解释这两个代码?
例如,它会是
'r','b','rbrb'
或
'BRBRBBBRBRRRBBB','BRBRBRRRBRRRBRB','BBBRBBBRBRRRBBB','BRBRBRRRBRRRB', 'BRBRBBBRBBBRB'
整个代码如下所示:
array = []
for i in range(3):
x = input()
flag = False
for j in range(len(array)):
if x in array[j] and array[j].index(x) == 0:
array[j] = x
flag = True
break
if array[j] in x and x.index(array[j]) == 0:
flag = True
break
if not flag:
array.append(x)
print(array)
我花了几个小时查看这段代码以获得一些想法,但我什至无法缩小我在搜索引擎中提出的问题,现在我变得更加困惑。
我熟悉类似...的代码
if x in listA:
或
listA.index(x)
但是很难使用 flag = False 和
if x in listA[j]:
或
listA[j].index(x)
如果可能的话,我应该学习什么才能对这个问题有更多的理解?
感谢您的帮助!
【问题讨论】:
-
是的,有区别。
"foo" in "foobar"为真;"foobar" in "foo"是假的。in不可交换。 -
这是你写的吗?如果不是,那就不值得再看了:这是一个非常糟糕的例子。
-
假设我们有两个案例。
'apple' in 'apple store'和'apple' in ['apple']。你可以从这个开始。
标签: python in-operator