遍历列表易错点

a=[]
a.append("a")
b=["b","c"]
a.extend(b)
a[-1]="ee"

首先先建立列表,下列两种类型比较下:

for i in a:
    if "a" in i:
        i="aa"
print(a)

“a”不在“i”里面,所以输出为:
[‘a’, ‘b’, ‘ee’]

for i in range(len(a)):
    if "a" in a[i]:
        a[i]="aa"
print(a)

i在a的列表具体位置才是正确形式,输出为:[‘aa’, ‘b’, ‘ee’]
在这里插入图片描述

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
深度优先搜索(DFS)和广度优先搜索(BFS)都是遍历算法,但它们有不同的特和适用场景,需要注意以下几: 1. 深度优先搜索的本质是一个递归过程,容易出现栈溢出的问题,需要注意递归深度是否会超出系统限制。如果无法使用系统的递归机制,可以使用手动维护栈的方式来实现DFS。 2. 广度优先搜索需要使用队列来实现,因此需要考虑队列空间的限制,避免出现队列溢出的问题。同时,如果的结构比较复杂,该算法可能会占用较大的内存空间。 3. DFS 和 BFS 的时间复杂度都是 O(V+E),其中 V 是顶数,E 是边数。但是在实际应用中,它们的性能表现可能会有所不同,需要根据具体情况选择合适的算法。 4. 在实现 DFS 和 BFS 算法时,需要考虑如何判断节是否已经被访问过。对于无向来说,可以使用一个布尔型数组记录每个节是否已经被访问过;对于有向来说,需要考虑遍历方向,可以使用一个标记数组来记录每个节遍历状态。 5. 在使用 BFS 算法时,需要注意从起开始遍历的顺序。如果需要按照某种特定的顺序进行遍历,可以在队列中存储节及其深度等信息,按照一定的规则来排序。 6. 对于连通来说,DFS 和 BFS 都可以遍历整个;对于非连通来说,需要考虑每个连通分量的遍历。可以使用一个布尔型数组记录每个节是否已经被访问过,从未被访问过的节开始遍历,直到所有节都被访问过为止。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值