在字符串列表中,对于每个字符串,删除字符串中特定字符后面的部分



我有一个字符串列表,我想摆脱字符'_'之后的字符串的一部分,但它给了我一个错误,我找不到

import requests
url = 'https://data.gateapi.io/api2/1/pairs'
r = requests.get(url = url)
coins = r.json()
print(coins)
['USDT_CNYX', 'BTC_USDT', 'BCH_USDT', 'ETH_USDT', 'ETC_USDT', 'QTUM_USDT', 'LTC_USDT', 'DASH_USDT', 'ZEC_USDT', 'BTM_USDT', 'EOS_USDT', 'REQ_USDT', 'SNT_USDT', 'OMG_USDT']
clean_coins = []
for coin in coins:
test=coin.split("_")
test = test[0]
clean_coins = clean_coins.append(test)
AttributeError: 'NoneType' object has no attribute 'append'

问题在clean_coins = clean_coins.append(test)

列表的append方法修改列表并不返回任何内容,这意味着您将clean_coins.append(test)(None)的结果分配给clean_coins,并且在下一次迭代中您会得到一个错误,因为clean_coins现在是None,并且您正在尝试调用.append()

要修复它,只需将clean_coins = clean_coins.append(test)替换为clean_coins.append(test)

你可以有一个像下面这样的1行

coins = ['USDT_CNYX', 'BTC_USDT', 'BCH_USDT', 'ETH_USDT', 'ETC_USDT', 'QTUM_USDT', 'LTC_USDT', 'DASH_USDT', 'ZEC_USDT', 'BTM_USDT', 'EOS_USDT', 'REQ_USDT', 'SNT_USDT', 'OMG_USDT']
clean_coins = [x.split('_')[0] for x in coins]
print(clean_coins)

输出
['USDT', 'BTC', 'BCH', 'ETH', 'ETC', 'QTUM', 'LTC', 'DASH', 'ZEC', 'BTM', 'EOS', 'REQ', 'SNT', 'OMG']

相关内容

  • 没有找到相关文章

最新更新