Python号码转换成列表?

时间:2018-02-08 09:45:31

标签: python python-3.x list

我在python编程体验中遇到了一些问题。我想在for循环中将数字转换为python列表。如果一些python经验丰富的程序员知道如何做到这一点,或者可以告诉我代码中有什么问题。请告诉我。

l = [3,6,9,2,11,14,13]

我想将最后一个值减去列表中的所有值。像这样

for l1 in l:
    l1 = l[-1]-l
    print(l1)

问题是当我在外面打印l1时,循环show int不是列表。它显示了这个

In [60]: print(type(l1))
<class 'int'>

In [61]: print(l1)
0

如果我使用condtion来比较其他列表:

f = [7]
l = `[3,6,9,2,11,14,13]`

for l1 in l:
    l1 = l[-1]-l
    print(l1)     ## need list not int
    for f1 in f:
        if l1<=f:
            print(l1) ## print int not int list 
            for s in l:
                 f1 = l1+s
                 print(l1,"+",f1,"==", s)

我只需要知道如何在for循环和condtion中将int转换为list。我知道这不是解释我问题的好方法。但如果事情不明确请告诉我。感谢

2 个答案:

答案 0 :(得分:3)

“我想从列表的所有元素中减去列表的最后一个值”将转换为:

l1 = [x - l[-1] for x in l]

作为列表理解。或者,您可以使用数组,例如:

import numpy as np
l = [1,2,3,1]
l1 = np.array(l)-l[-1] # l1 is now an array though, not a list

但是,如果您只想单独使用每个值,则只需要注意代码中的变量名称(或者只是按上面的方式创建列表并循环遍历它)。你的循环应该是:

for el in l:
    subel = l[-1]-el  # or el-l[-1]
    print(el)

修改:如评论中所述,您的字词和代码不匹配。在您的代码中,您似乎不会尝试从列表中的每个元素中减去最后一个元素,而是将它们反转,即l[-1]-x

答案 1 :(得分:-1)

不能正确理解你的问题,但是从我的理解......

l = [3,6,9,2,11,14,13]

for l1 in l:
    l1 = l1-l[-1]
    print(l1)

这会给你输出。

-10
-7
-4
-11
-2
1
0

是你在寻找什么?