前提・実現したいこと
閲覧いただきありがとうございます。Pythonの配列で躓いている箇所があり、ご教授いただければ幸いです。
lst = ['しりとり。りんご。ゴリラ。','りんご。ゴリラ。','ゴリラ。','ねこ。いぬ。うさぎ。','うさぎ。']
このような配列があった場合、以下のような配列内で要素が部分一致しているものかつ、一番短い要素を取得したいです。
lst = ['ゴリラ。','うさぎ。']
うまく説明できず、申し訳ございません。よろしくお願いいたします。
発生している問題
自分なりに調べ、プログラムを組んでみましたが取得したい結果が得られません。
考え方やアプローチ方法に問題があると思います。
該当のソースコード
ご参考になるかわかりませんが、ソースコードを記載します。
お見苦しいソースコードで申し訳ございません。
Python
1lst1 = [] 2lst2 = ['しりとり。りんご。ゴリラ。','りんご。ゴリラ。','ゴリラ。','ねこ。いぬ。うさぎ。','うさぎ。'] 3lst2.insert(0,'') 4 5for i in range(1,len(lst2)-1): 6 if (lst2[i] not in lst2[i-1]): 7 lst1.append(lst2[i]) 8 9list = set(lst2) - set(lst1) 10l = [x for x in list if x] 11print(l) 12>>['うさぎ。', 'りんご。ゴリラ。', 'ゴリラ。']
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/11/19 20:36
2020/11/20 00:08
2020/11/20 09:54