python - 检查一系列列表是否包含项目
问题描述
我有一个数据集,我试图循环并过滤我正在寻找的“交换”。我已经尝试过any()
,但它似乎不起作用。有人可以让我知道我做错了什么吗?
我想要的输出是一个包含"NASDAQ"
or的列表"NYSE"
。
exchanges = ['NASDAQ', 'NYSE']
for i in ticker_csv:
if any(exchanges) in i:
print(i)
由于我的条件未得到满足,因此不会打印任何内容。
这是 中的数据样本ticker_csv
。
['ZVZZC', 'ZVZZC', 'NASDAQ', 'Stock', '2016-01-29', 'null', 'Active']
['ZVZZT', 'NASDAQ TEST STOCK', 'Bats', 'Stock', '2017-09-22', 'null', 'Active']
['ZWRK', 'Z-Work Acquisition Corp - Class A', 'NASDAQ', 'Stock', '2021-04-05', 'null', 'Active']
['ZWRKU', 'Z-Work Acquisition Corp - Units (1 Ord Class A & 1/3 War)', 'NASDAQ', 'Stock', '2021-01-29', 'null', 'Active']
['ZWRKW', 'Z-Work Acquisition Corp - Warrants (29/01/2026)', 'NASDAQ', 'Stock', '2021-03-24', 'null', 'Active']
['ZWZZT', 'NASDAQ TEST STOCK', 'W', 'Stock', '2017-09-22', 'null', 'Active']
['ZXYZ-A', 'NASDAQ SYMBOLOGY TEST', 'NASDAQ', 'Stock', '2016-01-19', 'null', 'Active']
['ZXZZT', 'NASDAQ TEST STOCK', 'Bats', 'Stock', '2006-07-10', 'null', 'Active']
['ZY', 'Zymergen Inc', 'Bats', 'Stock', '2021-04-22', 'null', 'Active']
['ZYME', 'Zymeworks Inc', 'MKT', 'Stock', '2017-04-28', 'null', 'Active']
['ZYNE', 'Zynerba Pharmaceuticals Inc', 'bats', 'Stock', '2015-08-05', 'null', 'Active']
['ZYXI', 'Zynex Inc', 'NASDAQ', 'Stock', '2002-12-31', 'null', 'Active']
['ZZK', '', 'NYSE ARCA', 'Stock', '2020-07-22', 'null', 'Active']
['ZZZ', 'TEST TICKER FOR UTP', 'NYSE ARCA', 'Stock', '2014-10-31', 'null', 'Active']
解决方案
您的原始代码的问题在于,内置any
函数旨在采用一系列布尔值并在其中任何一个为 True 时返回 True,但您向它传递了一个交换列表。
相反,您应该检查数据中是否存在每个交换,并用于any
确定对于一个或多个交换是否为 True:
for data in ticker_csv:
if any(exchange in data for exchange in exchanges):
print(data)
这data
是一个包含几个字段的列表:股票代码、全名、交易所等。
更好的方法是观察交换始终是列表的第三个元素(索引 2)。所以你可以做这样的事情:
for data in ticket_csv:
exchange = data[2]
if exchange in exchanges:
print(data)
更简洁的版本使用内置filter
函数进行此过滤:
for data in filter(lambda data: data[2] in exchanges, ticker_csv):
print(data)
data[2].upper()
如果您需要进行不区分大小写的比较,也可以使用,假设顶部的交换列表都是大写的。
推荐阅读
- go - viper.AutomaticEnv() 获取环境变量无法正常工作
- pyspark - PyFlink 性能与 Scala 相比
- javascript - 运行我的应用程序构建时出现语法错误 import(dataUri)
- python - 是否有可能在 PyclipperOffset 类中保留共线点?如果有,我怎么能将属性设置为 True?
- gitlab - 为自托管的 gitlab 实例使用公共运行器
- docker - “雪花系统”是什么意思?
- oracle - 使用 WCF-OracleDB 执行过程调用的 BizTalk 发送端口给出没有线索的错误消息
- javascript - 如何在视口中更改图像的 src 属性?
- python - Python for循环乘以连续数据框列值
- python - 错误执行器:步骤 9.0 (TID 427) 中的任务 0.0 异常 ExitCodeException exitCode=-1073741515:如何解决问题?