比较python中的两个列表并获得不相等

时间:2015-09-16 02:12:51

标签: python list recursion tweepy

理论上这段代码必须比较具有推文ID的两个列表,并且在此比较中是否已经存在于丝网印刷中,否则不存在。 但我打印所有或不打印。 有任何建议来比较这两个ID列表,如果不是第二个列表的ID,那么打印它? 对不起有效的代码。 (和我的英文)

我所寻求的实际上并没有在我已经拥有时反复进行转发(转发)。我使用Tweepy库,我读了时间轴,并发了推文RT我没做RT

def analizarRT():
    timeline = []
    temp = []
    RT = []
    fileRT = openFile('rt.txt')
    for status in api.user_timeline('cnn', count='6'):
        timeline.append(status)
    for i in range(6):
        temp.append(timeline[i].id)
    for a in range(6):
        for b in range(6):
            if str(temp[a]) == fileRT[b]:
                pass
            else:
                RT.append(temp[a])
    for i in RT:
        print i

解决了添加此功能的问题!

def estaElemento(tweetId, arreglo):
    encontrado = False
    for a in range(len(arreglo)):
         if str(tweetId) == arreglo[a].strip():
            encontrado = True
            break
return encontrado

2 个答案:

答案 0 :(得分:1)

这是一个简单的程序,不会让它复杂化。根据您的意见,有两个列表:)

<强> 1。时间轴

<强> 2。 fileRT

现在,您要比较这两个列表中的 id&#39; 。在此之前,您必须知道这两个列表的性质。

我的意思是,列表中的数据类型是什么?

  

是吗

     
      
  1. 字符串列表?或
  2.   
  3. 对象列表?或
  4.   
  5. 整数列表?
  6.   

因此,找出它,调试它,或在代码中使用print语句。或者请在您的问题中添加这些详细信息。所以,你可以给出一个完美的答案。

同时,试试这个:

def analizarRT(): timeline = [] fileRT = openFile('rt.txt') for status in api.user_timeline('cnn', count='6'): timeline.append(status) for i in range(6): for b in range(6): if timeline[i].id == fileRT[b].id: pass else: newlist.append(timeline[i].id) print newlist 应该有效。

编辑:

print newlist

根据你的问题,你想获得它们,对吗?我已将它们添加到新列表中。现在,您可以说step来查看项目

答案 1 :(得分:0)

你的else语句与for语句相关联,你可能需要再添加一个缩进来使它在if语句中起作用。