繁体   English   中英

尽管使用 for 循环添加元素,为什么我的列表仍然为空

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM