Python 在列表中赋值 为True时: p=[] q=[] H=[] E=[] 对于范围内的m(n): p=(i-d[m-2][1])/d[m-2][0] q、 追加(p) 打印q r=q[0] 如果rg[1][1]: r==g[1][1] 印刷机

Python 在列表中赋值 为True时: p=[] q=[] H=[] E=[] 对于范围内的m(n): p=(i-d[m-2][1])/d[m-2][0] q、 追加(p) 打印q r=q[0] 如果rg[1][1]: r==g[1][1] 印刷机,python,list,limit,Python,List,Limit,对于上面的编码问题,我想用一种更简单的方式来解释 while True: p = [] q = [] H = [] E = [] for m in range(n): p = (i-d[m-2][1])/d[m-2][0] q.append(p) print q r = q[0] if r < g[1][0]: r == g[1][0] elif r > g[1

对于上面的编码问题,我想用一种更简单的方式来解释

while True:
    p = []
    q = []
    H = []
    E = []
    for m in range(n):
        p = (i-d[m-2][1])/d[m-2][0]
        q.append(p)
    print q

    r = q[0]
    if r  < g[1][0]:
        r == g[1][0]
    elif r > g[1][1]:
        r == g[1][1]
    print r
i=[3,5]
r=[5,6]
如果i[0]

但是,在本例中,我无法获得
[5,5]
,为什么?输出仍然是
[3,5]

以下几行是比较,而不是赋值:

i = [3,5]

r = [5,6]

if i[0] < r[0]:
    i[0] == r[0]
    print i
我猜你是想写信

    r == g[1][0]
    r == g[1][1]
    i[0] == r[0]
改变

至(分别)


=
是一种逻辑比较(它测试两个值是否相等,并返回
False
True
=
是赋值运算符。

遇到此类问题时,请始终尝试使用解释器。i[0]==r[0]将返回
False
,这将使您意识到您使用的是比较运算符,而不是赋值。您想要
=
i[0] = r[0]
r = g[1][0]
r = g[1][1]
i[0] == r[0]
r == g[1][0]
r == g[1][1]
i[0] = r[0]
r = g[1][0]
r = g[1][1]
i[0] == r[0] --> i[0] = r[0]
r == g[1][0] --> r = g[1][0]
r == g[1][1] --> r = g[1][1]