python - 枚举用于在 Python 中查找元素的列表
问题描述
在 python 中,如何遍历元素列表并查找我需要的元素是否存在于列表中。
如果在列表中找到其中任何一个,则打印,否则说没有找到元素。(并在最后声明我的代码)
我只想从列表中搜索并查找强制性 3 个元素,即“名称”、“年份”和“城市 ID”。
最后用 foundcount 断言,以便测试失败或通过。
这是我的代码:
list = [ 'Name, 'Year', 'City_id', 'Region_Id' , 'Location', 'Source', 'Time']
reqVal = [ 'Name', 'Year', 'City_id' ] # items in List - if present or not
foundCount = 0
def isValInList():
for reqVal in enumerate(list):
if reqVal in list :
print("Yes, %s required item is found in List : ", reqVal)
foundCount += 1
else:
print('No required items are found in list')
break
assert (foundCount == 0)
isValInList()
所以目前当我运行这段代码时,我得到
No required items are found in list
这显然是错误的,您能否建议并纠正我做错的地方。谢谢。
解决方案
你可以试试:
my_list = ['Name', 'Year', 'City_id', 'Region_Id' , 'Location', 'Source', 'Time']
reqVal = ['Name', 'Year', 'City_id']
count_for_reqVal = {req_val : my_list.count(req_val) for req_val in reqVal}
print(count_for_reqVal)
#output : {'Name': 1, 'Year': 1, 'City_id': 1}
另外,我试图重用您的代码:
list = [ 'Name', 'Year', 'City_id', 'Region_Id' , 'Location', 'Source', 'Time']
reqVal = [ 'Name', 'Year', 'City_id', 'Test' ] # items in List - if present or not
def isValInList():
foundCount = 0
for val in reqVal:
if val in list :
print("Yes, '%s' required item is found in list" % val)
foundCount += 1
else:
print("No, '%s' required item is not in list" % val)
if foundCount == 0:
print('No required items are found in list')
isValInList()
# output:
# Yes, 'Name' required item is found in list
# Yes, 'Year' required item is found in list
# Yes, 'City_id' required item is found in list
# No, 'Test' required item is not in list
推荐阅读
- scikit-learn - Scikit Learn PolynomialFeatures - include_bias 选项的用途是什么?
- wso2 - WSO2 身份服务器-relyingPartyRedirectUrls 不适用于 Chrome 或 Internet Explorer
- python - django模型/类中的项目设置
- python - 有没有办法减少ifs的数量?
- parsing - 为什么这个 ANTLR4 语法模棱两可?
- javascript - 我如何循环一些可变的次数?
- haskell - 哈斯克尔。在两个 Data.Map 中查找相似元素的最快方法
- windows - 在powershell脚本中循环
- android - 导航架构组件 - 带有登录屏幕的 BottomNavigationView
- javascript - 将图像放入字符串中