繁体   English   中英

试图了解列表的长度 [PYTHON]

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

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