Python - 如何循环此函数返回的元素?

时间:2017-07-30 21:09:18

标签: python

我刚开始学习python。我现在正试图运用我的知识来修改some code I found online 函数shape.part(i)返回图像上的点(x,y)。我现在正试图将单个行上的每个点写入文件。但由于某种原因,for循环总是会产生运行时错误,无论我是否使用

    def process_or_store(tweet):
        print(json.dumps(tweet))

有人可以告诉我这样做的正确方法是什么,并解释为什么我尝试过的东西不起作用?

由于

我想要开始工作的代码:

   - range(len(shape.part() ))
   - enum(len(shape.part() ))
   - enum(shape.part() ))
   - ....

3 个答案:

答案 0 :(得分:0)

嗨试试这可能是你在寻找它

Track.find({ id: { $in: playlist } })

答案 1 :(得分:0)

正如我在评论中所说,在Python中你会迭代这个东西。因此,假设shape.part()返回某种序列:

for coordLandMark in shape.part():
    coordLandMark = coordLandMark[1:]
    coordLandMark = coordLandMark.replace(", ", " ")
    coordLandMark = coordLandMark.replace(")", "")
    filePts.write(coordLandMark+'\n')

注意,我实际上并不知道shape.part()返回的内容。如果您需要更多帮助,则需要发布指向该对象的文档的链接。您可能需要在shape上调用一种不同的方法来获取可以迭代的内容。

答案 2 :(得分:-1)

你不能在Python中迭代这样的函数,你只能遍历列表,元组,字符串和其他iterable对象。我相信你想要做的是运行多个值的函数?与您的print("Part 0: {}, Part 1: {} ...".format(shape.part(0), shape.part(1)))行建议一样。因此,你应该做的是:

for i in range(some_value):
    coordLandMark = str(shape.part(i))
    # Do other things you need to do

现在的问题是你要找到需要迭代的项目数(我的代码中的some_value)。如果没有更多信息,我无法在这方面提供更多帮助...