在Python中解析这些字符串的最佳方法是什么?

时间:2019-01-23 06:38:07

标签: python python-3.x trading algorithmic-trading cryptocurrency

使用Python并给出以下 unique 项,查找与两个组合的名称匹配的对的最佳方法是什么?例如,如何找到与字符串"BNBBTC"相对应的元组?

对于背景,右边的索引将仅具有〜5个选项(字符串长度为3或4),而左边的索引可能具有> 100。

(AMB, BNB),
(AMB, BTC),
(AMB, ETH),
(ARK, BTC),
(ARK, ETH),
(ARN, BTC),
(ARN, ETH),
(AST, BTC),
(AST, ETH),
(BAT, BNB),
(BAT, BTC),
(BAT, ETH),
(BCC, BNB),
(BCC, BTC),
(BCC, ETH),
(BCC, USDT),
(BCPT, BNB),
(BCPT, BTC),
(BCPT, ETH),
(BNB, BTC),
(BNB, ETH),
(BNB, USDT),
(BNT, BTC),
(BNT, ETH),
(BQX, BTC),
(BQX, ETH),
(BTC, USDT),
(BTG, BTC),

2 个答案:

答案 0 :(得分:2)

l = [('AMB', 'BNB'), ('AMB', 'BTC')]

d = dict()

for s in l:
    d[''.join(s)] = s


def find_name(key):
    return d[key] if d.get(key) else None


print(find_name('BNBBTC'))

答案 1 :(得分:2)

l = [('AMB', 'BNB'), ('AMB', 'BTC'),('BNB', 'BTC')]

def find_name(key):
    for Touple in l:
        Flag = 0
        if (''.join(Touple)) == key: 
            Flag = 1
            break

    return Touple if (Flag == 1) else  False

print(find_name('BNBBTC'))