小白python学习错误记录

阅读: 评论:0

小白python学习错误记录

小白python学习错误记录

1.

[False * 9] = []

[False for _ in range(9)] = [False False False ....]

[False * 9]:结果是一个长度为1列表,值为一个字符串。

[False for _ in range(9)]:结果是一个长度为9的列表。

2. 

nums = [-1,4,3,1]
i=1
nums[i], nums[nums[i]-1] = nums[nums[i]-1], nums[i]

i=1

k = nums[i]-1

nums[i], nums[k] = nums[k], nums[i]

结果分别为[4,1,3,1],[-1,1,3,4]。

nums[1], nums[nums[1]-1] = nums[nums[1]-1], nums[1]的赋值流程:

1) 先右边计算nums[nums[1]-1], nums[1] = 1, 4。

2)将1赋值给左边的nums[1],此时nums=[-1,1,3,1]。

3)将4赋值给左边的num[nums[1]-1],但是此时的nums[1]不是4而是1,所以nums[nums[1]-1]=nums[0],所以此时4被赋值给nums[0]。

总结:对于我这样的小白,如果在python中需要进行交换的值在多层嵌套中(eg. nums[nums[nums[]]]),解决办法:

a)使用传统的三段式进行交换。

b)把包含嵌套的要交换的值放在前面,nums[1], nums[nums[1]-1] = nums[nums[1]-1], nums[1]是错误的值,但是 nums[nums[1]-1], nums[1] = nums[1],nums[nums[1]-1]值是对的。因为nums[nums[1]-1]中的nums[1]的值还没有改变。所以只要先计算嵌套中的值就行了。

本文发布于:2024-01-29 06:26:05,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170648077013338.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:错误   python
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23