Python 复制带条件的子列表

如何解决Python 复制带条件的子列表

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

我从 Binance 连接到 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 将仅包含您的代码的唯一最近交易。将该列表写入文件并加载到您的 make orders 脚本中。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?