gpt4 book ai didi

Python 复制带条件的子列表

转载 作者:行者123 更新时间:2023-12-04 15:07:34 27 4
gpt4 key购买 nike

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()

我已连接到币安的 API,我想查看最近的交易。到目前为止,一切顺利,我可以用 client.get_recent_trades 得到它们

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

ID: 560, 565, 576, 587, ...例如对我来说没用,我失去了其他人。

每一包数据中只有少数“新鲜”数据。我不想将重复项附加到我的列表中,所以我尝试检查 ID 以过滤掉重复项

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

Example sublist: [234543234, 1, 4543.45]

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

当它是一个“静态”例程时,我会知道该怎么做,但在这里我有一个每秒都有新数据的例程,我不知道如何处理它。我不能用迭代来做到这一点 [-1]因为它太慢了。

最佳答案

在这种情况下不要使用它,使用 websocket:

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()

列表 lst 将只包含您的交易品种的唯一近期交易。将该列表写入文件并将其加载到您的订单脚本中。

关于Python 复制带条件的子列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65820513/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com