python-3.x - 识别列表中的空间数字
问题描述
我想编写一个函数来获取整数列表并返回 True 如果它包含 007 。例如,查看一些结果。
spy_game([1,2,4,0,0,7,5]) --> True
spy_game([1,0,2,4,0,5,7]) --> True
spy_game([1,7,2,0,4,5,0]) --> False
我有一个代码,它可以工作(见下文),但我想要另一个解决方案!
def spy_game(nums):
code = [0,0,7,'x']
for num in nums:
if num == code[0]:
code.pop(0) # code.remove(num) also works
return len(code) == 1
解决方案
这听起来像是一个家庭作业问题,所以我不会给出一个彻底的解决方案,而是提供一种考虑问题的方法。
Python 中的字符串和列表都是可迭代类型,因此您可以为此应用存在于字符串(即.find()
)的解决方案并将其应用于列表。
对字符串有用的函数也是.join()
方法,它从列表中创建字符串。
因此,查看列表是否l = ['a', 'b', 'c', 'd', 'e', 'f']
包含序列的一种方法s = ['d', 'e', 'f']
是将两者都转换为字符串并检查 if ''.join(s) in ''.join(l)
。对于您的示例,由于列表的元素不是字符串,因此您必须将它们转换为使用.join()
.
我怀疑包装中还隐藏了一个解决方案itertools
,但在这里可能会有点矫枉过正。
推荐阅读
- google-apps-script - 如何在自动创建后将电子表格的 URL 引用复制到不同谷歌电子表格中的跟踪表
- java - 为什么 java.exe 由于“org.xnio.nio”线程而消耗更多 CPU?
- amazon-web-services - 从用户数据设置默认 AWS 区域
- linux - 如何解析脚本中差异的结果?
- konvajs - 有没有办法将负/反转颜色设置为笔触/填充颜色
- c# - 为什么我的应用程序在出现未处理的异常后不会停止?
- node.js - 如何在 ejs 中获取数据的索引之间切换?
- python - 清理未命名:0,未命名:1索引列函数
- python - 从对应于月日列表的熊猫数据框中提取行
- typescript - 如何在现有但当前未知的键/值对上设置接口?