あなたは、各リスト内のすべての文字を結合し、単一の文字列にすべて参加した文字列を結合して、適用することができます:
任意のヒントやヘルプは、これは私がこれまで持っているコードでいただければ幸いです
:溶液上の
>>> lst=[['.','.','B','.'],['.','.','.','.']]
>>> import re
>>> bool(re.search(r'B(\.+)$', ''.join(''.join(i) for i in lst)))
True
>>> lst=[['a','c','B','r'],['.','s','g','h']]
>>> bool(re.search(r'B(\.+)$', ''.join(''.join(i) for i in lst)))
False
>>>
EDIT 1 ----> TrueまたはFalseを返す関数として:試合かではないがあるかどうかを確認する正規表現すべてのインポートされたモジュールを使用せずに
:真を返す関数として
サンプル実行1
>>> lst=[['.','.','B','.'],['.','.','.','.']]
>>> newlst=[j for i in lst for j in i]
>>> newlst=newlst[newlst.index('B')+1:]
>>> newlst
['.', '.', '.', '.', '.']
>>> list(map(lambda x:x=='.', newlst))
[True, True, True, True, True]
>>> all(list(map(lambda x:x=='.', newlst)))
True
サンプル実行溶液の上の2
>>> lst=[['a','c','B','r'],['.','s','g','h']]
>>> newlst=[j for i in lst for j in i]
>>> newlst=newlst[newlst.index('B')+1:]
>>> newlst
['r', '.', 's', 'g', 'h']
>>> list(map(lambda x:x=='.', newlst))
[False, True, False, False, False]
>>> all(list(map(lambda x:x=='.', newlst)))
False
EDIT 2 ---->またはFalse:
>>> def free_of_obstacles(lst):
... newlst=[j for i in lst for j in i]
... newlst=newlst[newlst.index('B')+1:]
... return all(list(map(lambda x:x=='.', newlst)))
...
>>> lst=[['.','.','B','.'],['.','.','.','.']]
>>> free_of_obstacles(lst)
True
>>> lst=[['a','c','B','r'],['.','s','g','h']]
>>> free_of_obstacles(lst)
False
>>>
何らかの理由で、何かが動作していないかテストケースを実行したときに "再定義されていません"というNameErrorが発生しています – warrior4223
@ warrior4223 ohh申し訳ありません..このようにreモジュールをインポートする必要があります: 'import re ' – ritesht93
申し訳ありませんが、これはたくさんありますが、モジュールをインポートせずにこれを達成する方法はありますか?あなたのコードが動作して以来、私はあなたに最善の答えを与えます – warrior4223