你好,我有一个问题,我必须采取一个名单,并在这些名单中找到个别乐队,看看他们是否都有一个共同的最喜欢的乐队。如果是这样,我应该输出true。我需要遵循这种编程方法,将代码模块化,但我似乎无法获得它。这是我目前的代码。谢谢你所能给予的一切帮助。你知道吗
favoriteBandLists = [["Metallica","Linkin Park","Alice In Chains","Nirvana", "Soundgarden"],
["Pink Floyd","Alice In Chains","Soundgarden","Metallica","Linkin Park"],
["Audioslave","Offspring","The Beatles", "Soundgarden"]]
def commonFavoriteBand(favoriteBandLists):
thereExists= False
for i in (favoriteBandLists[2]):
if(commonFavoriteBandA(favoriteBandLists)):
thereExists = True
return (thereExists)
def commonFavoriteBandA(favoriteBandLists):
foundCounterExampleYet = False
for band in favoriteBandLists[2]:
if not(band == favoriteBandLists[0:1]):
foundCounterExampleYet = True
return not foundCounterExampleYet
print(commonFavoriteBand(favoriteBandLists))
如果你真的想写一些东西来显示你正在模块化你的代码,首先做一个函数,返回两个列表中的公共元素:
现在,反复多次调用该函数:
输出:
注意:这对我来说像是一个家庭作业问题,所以我的代码有助于解决这个问题。否则的话,我会使用集合交集方法,这在这里的其他回答中已经讨论过了
使用来自
set
对象的intersect编辑
如果需要遍历列表,可以使用任何列表遍历函数,如map、filter或reduce。你知道吗
相关问题 更多 >
编程相关推荐