[英]Trying to understand the length of the list [PYTHON]
我正在学习 python,目前我专注于列表。 我正在阅读的这本书使用此代码作为创建第三个列表的示例,它不会重复两个列表中存在的元素:
first = []
second = []
while True:
e = int(input("Enter a value for the first list (0 to end):"))
if e==0:
break
first.append(e)
while True:
e = int(input("Enter a value for the second list (0 to finish):"))
if e==0:
break
second.append(e)
third = []
two_lists = first[:]
two_lists.extend(second)
x=0
while x < len(two_lists):
y = 0
while y < len(third): #**THIS LINE IS MY QUESTION**
if two_lists[x] == third[y]:
break;
y=y+1
if y == len(third):
third.append(two_lists[x])
x=x+1
x=0
while x < len(third):
print(third[x])
x=x+1
所以,当他说while y < len(third)我不明白为什么 len(third) 是 1 而不是 0,因为在 while 部分之前第三个被设置为空。 有什么我想念的吗?
谢谢。
第一次谈到 while 循环时确实如此。
但是,外部循环会填充第三个列表。
在第 18 行循环的第一次迭代中, len(third)
确实是0
而不是1
。
所以我们没有进入第 20 行的 while 循环,而是进入第 24 行的if
子句,只有在len(third)
那部分才会为正。
初始迭代的第三个长度应为 0,以便整个 while 循环将被跳转。 然后下面的 if 语句将测试为真,因为 0 等于 0,然后一个元素将被添加到您的第三个数组中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.