トピックが述べているように:
list = ["a", "b"]
element = "ac"
使用できますか:
if element in list:
要素が (list + "c") の要素と等しい場合
私が達成したいことへの疑似コード:
if element in (list+c)
Pythonでこの動作を取得する最良の方法は何ですか?
編集:これを回避する方法はたくさんありますが、上記のコードのように 1 行で実行できますか?
トピックが述べているように:
list = ["a", "b"]
element = "ac"
使用できますか:
if element in list:
要素が (list + "c") の要素と等しい場合
私が達成したいことへの疑似コード:
if element in (list+c)
Pythonでこの動作を取得する最良の方法は何ですか?
編集:これを回避する方法はたくさんありますが、上記のコードのように 1 行で実行できますか?
より効率的なのは次のとおりです。
if any(x+'c' == element for x in your_list):
リストを2回スキャンするのを避けるためです(1回目は「+c」バージョンを作成するため、1回目は要素が結果のリストにあるかどうかを確認するためです)。また、リスト全体を調べる前に要素が見つかった場合は、「短絡」します (つまり、すぐに移動します)。
PS - 変数に名前を付けないのが最善です。list
これは、実際のリストタイプの名前であるからです。
if element in [elem + 'c' for elem in my_list]:
# ...
これらの組み込み型が失われているため、変数 (または、、、、など) を呼び出すことはお勧めlist
できint
ません。float
map
tuple
if element[:-1] in list:
「c」なしで要素を計算することをお勧めします。したがって、計算は 1 つだけです。
if element[0] in list:
リスト内のすべての項目に追加"c"
して、結果に含まれているかどうかを確認する必要はありません"ac"
。の最初の文字がリストにあるかどうかを確認します"ac"
。はるかに簡単であることを除けば、同じことです。