带条件的Python复制子列表
我从Binance连接到API,我想检查最近的交易。到目前为止,一切都很好,我可以通过带条件的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.
客户端获取它们。获取最近的交易
我必须一次下载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()