def check_company_exists(my_companies, company_data): """ 检查公司是否已存在(三维检查:公司名、CIK、Ticker) Args: my_companies: 公司列表 company_data: 可以是字符串(公司名)或字典(包含 company_name、cik、stock_code/ticker) Returns: bool: 如果公司已存在返回 True,否则返回 False """ if not isinstance(my_companies, list): return False # 如果 company_data 是字符串,只检查公司名 if isinstance(company_data, str): return any(company.get('company_name') == company_data for company in my_companies) # 如果 company_data 是字典,进行三维检查 if isinstance(company_data, dict): company_name = company_data.get('company_name', '') cik = company_data.get('cik', '') ticker = company_data.get('stock_code') or company_data.get('ticker', '') # 三维检查:任意一个维度匹配就认为已存在 for company in my_companies: # 检查公司名 if company.get('company_name') == company_name and company_name: return True # 检查 CIK if company.get('cik') == cik and cik: return True # 检查 Ticker/股票代码 company_ticker = company.get('stock_code') or company.get('ticker', '') if company_ticker == ticker and ticker: return True return False return False