- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经研究这个问题一段时间了,但感觉完全迷失了。这似乎是非常基本的问题,但似乎无法解决它。我并不是真的在寻找确切的答案,只是想知道我是否走在正确的道路上。我刚刚完成了编程入门的第三周,所以我确信某些格式有点奇怪,对此感到抱歉。
我正在尝试定义一个可以接受两个列表的函数:list1
和 list2
并查看 list1
是否作为以下列表的子列表list2
同时还考虑了排序。
例如,书中的问题是这样说的:
如果list1
定义为:[15, 1, 100]
和list2
定义为:[20, 15, 30, 50, 1, 100]
那么 list1
是 list2
的子列表,因为 list1
中的数字(15、1 和 100)出现在 list2 中
按照相同的顺序。
但是,list [15, 50, 20]
不是 list2
的子列表,因为顺序不同。
我不确定我是否以正确的方式处理这件事,但我想附上我迄今为止所掌握的内容,并且希望任何人对此发表意见。我添加了评论,以便更深入地了解我的思考过程。
<小时/><小时/>l1 = eval(input('\nPlease enter a list of integers: '))
l2 = eval(input('\nPlease enter a second list of integers: '))
def subList(l1, l2):
'Takes two lists as input from the user and determines'
'True if list1 is a sublist of list2 and false otherwise.'
newLst = []
indexNum = 0
result = subList(l1, l2)
if len(l1) > len(l2):
return False
elif l1 == []:
return True
for num in l1:
#My thinking here is that this while loop should run for as long as ther variable indexNum
#Doesn't exceed the length of lst2, allowing me to compare every num of lst1 with that of lst2
while indexNum < len(l2):
#If I come across a number in lst2, at a certain index, that's the same as lst1 I want
#to execute the following:
if l2[indexNum] == num:
#I've added a blank list at the top, newLst, which I want to append the matching number to.
newLst.append(l2[indexNum])
#I'll also want to still add one to the indexNum variable to compare the next number in lst2
indexNum = indexNum + 1
break
#If the number at lst2[indexNum] isn't equal to that of lst1, I still want to add to the
##indexNum variable to keep going through the loop and comparing the other items.
else:
indexNum = indexNum + 1
## I'm thinking here that if at the end of the outer loop, if my newLst is equal to the lst1, then that
## should mean that it works as a sub list. I could be wrong here and my thinking is way off though.
## If it is equal then the return value should be true, if not false.
if l1 == newLst:
return True
else:
return False
return True
最佳答案
我继续检查了你的代码。我不得不说,这几乎就像是有人故意在一个完美的解决方案中插入了坏行:
if...else
也在扼杀它。显然newlst
不等于l1
,因为当您到达这里时,您最多只检查了 l1
中的一个元素- 删除它。newlst
没用。我错过的@Olivier 的补充
l1
为空是多余的 - 循环将跳过,并且返回 True这是固定的解决方案:
def subList(l1, l2):
indexNum = 0
if len(l1) > len(l2): return False
for num in l1:
while indexNum < len(l2):
if l2[indexNum] == num:
indexNum = indexNum + 1
break
indexNum = indexNum + 1
else:
return False
return True
l1 = [15,1,100]
l2 = [20,15,30,50,1,100]
l3 = [15,50,20]
print(subList(l1,l2))
print(subList(l3,l2))
循环的逻辑:
l1
中获取一项.l2
中找到它。 indexNum
在迭代之间很好地管理这一点。else
如果没有找到,请返回False
.True
如果您设法对 l1
中的所有元素执行此操作.您的解决方案不仅简单,而且是最有效的。
关于python - 解决一个列表是否充当另一个列表的子列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51689412/
如果没有子类化dict,一个类需要被认为是一个映射,以便它可以通过**传递给一个方法。 from abc import ABCMeta class uobj: __metaclass__ =
所以。我正在研究 PHP/MySQLi atm,为此我正在做一个电影数据库。我是 PHP 新手,我已经在网上搜索了 3 天有同样问题的人,但我没有找到任何东西。 我的问题是我需要一个编辑按钮,这样就可
我的代码是这样的: void some_func(void *source) { ... double *casted = reinterpret_cast(source);
我无法准确理解 array_splice 和 array_slice 的作用。据我所知,array_splice 应该在取出某些元素后返回一个数组,而 array_slice 应该检索数组的一部分。
我从数据库中检索了 54 项: items = Item.where(condition) items.count == 54 and then: items.each {|i| i.tag_list
我在 HTML 表单中有一个简单的图像,充当按钮。当单击普通按钮时,我会使用 onClick 属性对其进行操作,但是对于我的图像,当您单击它们时,onClick 会起作用,但图像也会提交表单,而实际上
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 5 年前。 Improve this qu
我正在使用一个名为 acts_as_votable 的 gem让我的模型可以投票。 目前一切正常。 但是每次有人为帖子投票时,页面都必须刷新。如何在不刷新页面的情况下进行投票。我可以添加一个简单的 j
我的 bootstrap 3 页面在第一次页面加载时仅显示一个 div。当我单击“打开下一个 block ”按钮时,会显示另一个 div,如果我单击第二个 div,则会显示第三个 div。这样我总共可
我主要对 感兴趣 a11y 方面 因此,您可能知道,有时您可能希望有一个用作 anchor 的按钮。 这些是解决这个问题的 4 种方法(我能想到): 1. anchor 元素内的按钮 Button 2
在我的 main.storyboard 中,我有一个 UIImage View ,它只是一个通用的 Facebook 登录按钮。但是,我很困惑,因为使用这些通用步骤 override func vie
问题 我有这个 bash 脚本: ACTIVE_DB=$(grep -P "^[ \t]*db.active" config.properties | cut -d= -f2 | tr -s " ")
我目前正在使用 inline-block instead of floats 构建一个使用漂亮网格结构的站点. 简而言之,我的网格是这样工作的(JSFiddle) : HTML
我最近开始使用 Bootstrap 并且没有遇到任何问题,除了我遇到的这个问题。我已经使用它建立了自己的个人网站,并将其设计为响应式的,到目前为止,它在所有方面看起来都很棒。 但我遇到的问题是,从 9
这是一个不幸的问题,但我看不到任何其他解决方法。 基本上,我使用 Kendo UI 面板栏来创建可扩展列表。问题是,当您使用 作为子列表,面板栏功能不起作用。 fiddle 示例: http://js
我正在尝试获取一个 16 位长的数字 0x1122334455667788 并将其移位以说明小端编号。 使用下面的示例代码从内存单元中加载数字 void endianCompute(memory_t
我目前正在使用一堆输入文本字段,我想将其更改为 DIV,但我的大部分 JS 函数都使用 document.getElementById("inputField1").value每当输入字段的值设置如下
是否可以使用 HTML5 (或任何其他元素)就像一个 iframe,但内容是从它的子元素而不是从 URL 加载的?例如,如果您要在主文档中进行此设置: 以及foo.html的内容是: 主文档会显
我正在尝试使用 EJB session Bean 的示例。我想看看他们的区别。我的基本项目图如下; http://img109.imageshack.us/img109/8262/85220418.p
我们公司有一个项目,现在使用 nginx 作为反向代理来提供静态内容和支持 comet 连接。我们使用长轮询连接来摆脱不断的刷新请求,让用户立即获得更新。 现在,我知道已经为 Node.js 编写了很
我是一名优秀的程序员,十分优秀!