请问,为什么两次列表相加的顺序不一样,会导致最终运行结果的不一样
5条回答 默认 最新
- 神奇的代码在哪里 2023-02-27 17:27关注
题主的问题是由于列表往前加和往末尾加不一致导致的。
①第一种情况:
假设jieba.lcut()第一次返回['a','b','c'],第二次返回['a','b','c'],两个列表长短一致的情况下:
列表1=列表1+列表2 就等于:['a','b','c','a','b','c',]
列表1=列表2+列表1 就等于:['a','b','c','a','b','c',]
完全一样,没有问题。
②第二种情况:
假设jieba.lcut()第一次返回['a','b'],第二次返回['a','b','c'],两个列表长短不一致的情况下:
列表1=列表1+列表2 就等于:['a','b','a','b','c']
列表1=列表2+列表1 就等于:['a','b','c','a','b']
就不一样了。测试代码如下:
# 双数返回['a', 'b'],奇数返回 ['a', 'b', 'c'] def new_list(flag): if flag % 2 == 0: return ['a', 'b'] else: return ['a', 'b', 'c'] a_list = [] for i in range(0, 2): words = new_list(i) a_list = a_list + words print(a_list) a_list2 = [] for i in range(0, 2): words2 = new_list(i) a_list2 = words2 + a_list2 print(a_list2)
如有帮助,请点击采纳,谢谢。
解决 1无用
悬赏问题
- ¥15 两台交换机分别是trunk接口和access接口为何无法通信,通信过程是如何?
- ¥15 C语言使用vscode编码错误
- ¥15 用KSV5转成本时,如何不生成那笔中间凭证
- ¥20 ensp怎么配置让PC1和PC2通讯上
- ¥50 有没有适合匹配类似图中的运动规律的图像处理算法
- ¥15 dnat基础问题,本机发出,别人返回的包,不能命中
- ¥15 请各位帮我看看是哪里出了问题
- ¥15 vs2019的js智能提示
- ¥15 关于#开发语言#的问题:FDTD建模问题图中代码没有报错,但是模型却变透明了
- ¥15 uniapp的h5项目写一个抽奖动画