带条件的Python复制子列表

带条件的Python复制子列表,python,list,list-comprehension,binance,Python,List,List Comprehension,Binance,我从Binance连接到API,我想检查最近的交易。到目前为止,一切都很好,我可以通过客户端获取它们。获取最近的交易 我必须一次下载50笔交易,否则速度太慢,我将失去大部分交易。我可以在特定的ID上看到它 ID:560565576587,…例如对我来说是无用的,我失去了其他人 在每一个数据包中,只有少数“新”数据。我不想在列表中添加重复项,所以我尝试检查ID以过滤重复项 list_0 = [] list_1 = [] def sort_data(): trades = client.

我从Binance连接到API,我想检查最近的交易。到目前为止,一切都很好,我可以通过
客户端获取它们。获取最近的交易

我必须一次下载50笔交易,否则速度太慢,我将失去大部分交易。我可以在特定的ID上看到它

ID:560565576587,…
例如对我来说是无用的,我失去了其他人

在每一个数据包中,只有少数“新”数据。我不想在列表中添加重复项,所以我尝试检查ID以过滤重复项

list_0 = []
list_1 = []


def sort_data():
    trades = client.get_recent_trades(symbol='BTCUSDT', limit=50)
    for t in trades:
        id_zero = [int(t["id"]), int(t["isBuyerMaker"]), float(t["quoteQty"]).__round__(2)]

        list_0.append(id_zero)

    dup = [x[0] for x in list_0]
    for x in dup:
        if x not in list_1:
            ?


while True:

    sort_data()
我不知道如何执行以下操作:检查
列表\u 0
中每个条目的ID(ID位于子列表的索引0上),当ID不在
列表\u 1
中时,将整个数据集/子列表[ID,isBuyerMaker,quoteQty]复制到
列表\u 1


当它是一个“静态”例程时,我知道该做什么,但这里我有一个每秒都有新数据的例程,我不知道如何处理它。我无法使用迭代
[-1]
,因为它会变慢。

在这种情况下,请使用websocket:

dup = [x[0] for x in list_0]

Example sublist: [234543234, 1, 4543.45]
列表
lst
将仅包含您的符号的唯一最近交易。将该列表写入文件并加载到makeorders脚本中

from binance.websockets import BinanceSocketManager
from binance.client import Client

client = Client('PUBLIC', 'PRIVATE')

lst = []

def process_message(msg):
    lst.append(msg)
    print (lst)

bm = BinanceSocketManager(client)
conn_key = bm.start_trade_socket('BNBBTC', process_message)
bm.start()