python - 列表中的值在 Python3 中被错误地解析
问题描述
由于某种原因,以下函数在两次不同的执行中显示不同的 q1 值。我使用 Pycharm,q1 中最后一个元素的值在它显示的两个输出中都不同
def rotation(mat):
q1 = mat[0]
q2 = [mat[i][-1] for i in range(len(mat))]
print('\n\n', q1, q2)
####### This is where it goes wrong
print('Actual:', q1[len(q1)-1], len(q1)-1)
for i in range(0, len(q1)):
mat[i][-1] = q1[i]
print('Obtained:', q1[i], i)
##########################
# display(mat)
q1 = q2
q2 = mat[-1][::-1]
for i in range(len(mat[-1]), 0):
mat[-1][i] = q1[len(mat)-i-1]
# display(mat)
q1 = q2
q2 = [mat[i][0] for i in range(len(mat)-1, 0, -1)]
for i in range(len(mat)-1, 0, -1):
mat[i][0] = q1[len(mat)-i-1]
# display(mat)
q1 = q2
for i in range(len(mat[0])-1 ):
mat[0][i] = q1[i]
print('\n\n')
# display(mat)
更新:如果我注释掉我将值分配给 mat[i][-1] 的行,则该值打印正确。
解决方案
推荐阅读
- json - 使用参数 Swift 从 URL 获取数据
- java - 如何在 JFrame 中拖动多个 JLabel?
- python - 如何使用相等条件来操作基于另一个数据帧的 Pandas 数据帧?
- r - 尝试在 tapply 中使用 apply 函数来获取特定属性的聚合方法
- c++ - 使用 std::variant 作为类成员并应用访问者
- javascript - React Navigation - 如何在选项卡导航器中嵌套包装堆栈导航器的组件
- webview - Youtube嵌入视频问题(视频不可用)
- r - 分析没有日期的时间序列
- javascript - 将元素的值从客户端传递到服务器端函数
- php - 坚持更新 maria db 中的数据