# yyds干货盘点 # 盘点Python列表的一道基础题目

Posted Python进阶者

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了# yyds干货盘点 # 盘点Python列表的一道基础题目相关的知识,希望对你有一定的参考价值。

大家好,我是Python进阶者。

一、前言

前几天在Python最强王者交流群有个叫【Chloe】的粉丝问了一个Python列表的问题,这里拿出来给大家分享下,一起学习下。

#

图片有点模糊,这里直接手敲出来了,如下:

List = [1, 2, 4, 5, 6, 7, 8]
for i in range(0, len(List)):
if List[i] % 5 == 0:
List.append(9)
if (len(List) - 1) == i:
print(List[i] + List[2])

答案没想到竟然不是13,而是无任何输出!

二、解决过程

这里【月神】给出了解答,​​for in​​ 中​​i​​最多取到6,即最多循环7次。

#

下面给这个代码,加了点注释,这样理解起来就清晰了。

List = [1, 2, 4, 5, 6, 7, 8]
for i in range(0, len(List)):
if List[i] % 5 == 0: # 当list[i]=5的时候,进入该循环,此时i=3,即list[3]=5
List.append(9)
print(f"此时的长度是len(List)") # 此时List的长度是8,列表内容是[1, 2, 4, 5, 6, 7, 8, 9]
print(List)
print(f此时的List[i]是:List[i]) # 依次打印List中元素
print(f此时的i是:i)
print(f此时的len是:len(List))
if (len(List) - 1) == i: # 之后i=4, 5, 6,而且此时len(List)却是8,len(List)-1就是7了,不会进入到该循环,所以不会有打印
print(List[i] + List[2])

#

别走,这个题目还有变形,且看【Chloe】发来的另外一个题目,如下图所示:

#

图片有点模糊,这里直接手敲出来了,如下:

List = [1, 2, 4, 5, 6, 7, 8]
for i in List:
if i % 5 == 0:
List.append(9)

if (List[len(List) - 1]) == i:
print(i + List[2])

这个地方是遍历列表元素,每次循环会检查​​List​​,所以当​​append​​那个9之后列表会增长,会执行后面一个if语句。

#

上周的时候,也确实发过列表这个坑的文章,具体的细节可以前往文章查看:​​盘点Python列表在删除时候的一个坑​​。这里给代码加了点注释,理解起来应该就不难了。

List = [1, 2, 4, 5, 6, 7, 8]
for i in List:
if i % 5 == 0: # 当i=5的时候,进入该循环,此时i=3,即list[3]=5
List.append(9)
print(f"此时的长度是len(List)") # 此时List的长度是8,列表内容是[1, 2, 4, 5, 6, 7, 8, 9]
print(i) # 依次打印列表中的元素
if (List[len(List) - 1]) == i: # 之后i=6, 7, 8, 9,而且此时len(List)却是8,len(List)-1就是7了,而List[len(List) - 1]=List[7],对应的值是9
print(f"此时的List[len(List) - 1]是List[len(List) - 1],此时的i是i")
print(i + List[2]) # 此时i=,List[2]=4

#

三、总结

大家好,我是Python进阶者。这篇文章主要分享了Python列表中的增加问题,每次循环会检查List,针对该问题给出了具体的解析和代码演示,帮助粉丝顺利解决了问题。

#

最后感谢粉丝【Chloe】提问,感谢【月神】和【dcpeng】给出的具体解析和代码演示,感谢【PI】、【孤独】等人参与学习交流。

小伙伴们,快快用实践一下吧!如果在学习过程中,有遇到任何Python问题,欢迎加我好友,我拉你进Python学习交流群共同探讨学习。

以上是关于# yyds干货盘点 # 盘点Python列表的一道基础题目的主要内容,如果未能解决你的问题,请参考以下文章

# yyds干货盘点 # 盘点一道Python列表合并的基础题目(列表推导式)

# yyds干货盘点 # 盘点对Python列表中每个元素前面连续重复次数的数列统计

#yyds干货盘点# 4. 列表一学完,Python 会一半,滚雪球学 Python

#yyds干货盘点# 6. Python 元组,不可变的列表,滚雪球学 Python

# yyds干货盘点 # Python列表中的深浅拷贝,你学废了嘛?

# yyds干货盘点 # 手把手教你使用Python提取快递信息