[英]Why doesn't the code below produce any output?
有两个代码片段,上一个有效,而下一个无效。 为什么第二个代码片段 output 什么都没有?
#This code works:
x=["Decomplete asd"]
y=[]
z=[]
for i in x:
if "De" in i:
y.append(i)
print(y)
if "comp" in i:
z.append(i)
print(z)
# This one does not:
x=["Decomplete asd"]
y=[]
z=[]
if "De" in x:
y.append(x)
print(y)
if "comp" in x:
z.append(x)
print(z)
欢迎尼卡萨斯!
那是因为 X 是一个包含一个字符串的列表。 但是 x 本身并不是一个字符串。
所以:
在第一种情况下,我获取此列表中每个项目的值(因为此列表的长度 = 1,循环将很快完成)。 所以当 i = "Decomplete asd",它是一个字符串时,条件为真: "De" 和 "comp" 在这个字符串中。
在第二种情况下,条件直接适用于 x。 x 是一个列表,而不是一个字符串。 这意味着您正在一个不包含它们的列表中寻找字符串“De”和“comp”作为项目。
例如,如果您有x = ["De", "comp", "hello"]
,它将起作用。
或者如果你有x = "Decomplete asd"
(即一个字符串,没有[
和]
)。
希望它有所帮助!
for 循环下面的代码只检查一次所需的内容。
该代码在每个实例上添加每个字符串。 基本上,在代码遍历集合的每个部分之前,顶级代码不会停止查找。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.