Python 复制有条件的子列表
Python copy sublists with conditions
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
将仅包含您的代码的唯一近期交易。将该列表写入文件并将其加载到您的订单脚本中。
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
将仅包含您的代码的唯一近期交易。将该列表写入文件并将其加载到您的订单脚本中。