在列表中指定值

时间:2013-03-24 15:24:05

标签: 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][1]:
        r == g[1][1]
    print r

对于上面的编码问题,我想以更简单的方式解释它。

i = [3,5]

r = [5,6]

if i[0] < r[0]:
    i[0] == r[0]
    print i

但是,在这个例子中我无法得到[5,5],为什么?输出仍为[3,5]

3 个答案:

答案 0 :(得分:1)

以下几行是比较而不是作业:

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

我怀疑你打算写

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

答案 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]

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

答案 2 :(得分:0)

i[0] == r[0] --> i[0] = r[0]
r == g[1][0] --> r = g[1][0]
r == g[1][1] --> r = g[1][1]