[英]Why does my list stay empty despite adding elements using a for loop
我正在尝试执行以下操作: - 检查一个列表中的元素是否存在于另一个列表中。 如果是这样,什么都不做,如果不是,则将其附加到该列表中。
简化示例代码:
x=[1,2,3]
y=[2,3,4]
for item in x:
if item in y=='False':
y.append(item)
else:
continue
print(y)
不幸的是它不起作用,作为初学者我不知道为什么。 有什么想法吗?
您的代码不起作用的原因是该语句:
if item in y=='False':
检查条件的布尔答案是否
item in y
等于字符串'False'
以触发if
块。
根据您的问题,代码更正应该是:
if item not in y:
y.append(item)
在上面的例子中,当列表y
不存在x
中的项目时,进入if
块
x=[1,2,3]
y=[2,3,4]
for item in x:
if item not in y:
y.append(item)
else:
continue
print(y)
给出:
[2, 3, 4, 1]
你应该使用:
x=[1,2,3]
y=[2,3,4]
for item in x:
if item not in y:
y.append(item)
else:
continue
print(y)
行: if item in y=='False':
永远不会为真,因为如果项目不在 y 中,它将返回布尔值 False,而不是字符串 'False'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.