2017-10-02 3 views
0

私は、パラメータ内の特定の文字を見つけることを可能にする関数を定義し、その後のすべての文字を返します。例:"find"関数でリストを渡す=エラー?

def function1(parameter1): 
    variable1 = parameter1[parameter1.find("&"):] 
    variable1 = variable1[1:] 
    return variable1 

これは問題なく実行されるようです。しかし、私は私が、最初にスルー機能のリストを渡す比較し、その後

def function2(list, variable1): 
    for parameter1 in list: 
     parameter1 = function1(list) 
     if variable1 == parameter1: 
      return True 
     else: 
      return False 

TrueまたはFalseを返すことができます私の第二の機能に問題が生じています、私は機能2のために私のリストと変数1を定義し、印刷:

list = ["abc&123", "def&456", "ghi&789"] 
variable1 = "123" 
print function2(list,variable1) 

私が間違っていることを理解できないようです。何かが私がリストを通り過ぎてどのように枯れているかのように見えて、スプリットに関するエラーや(私は両方を試してみました)、そして/またはVariable1とparameter1の私の比較の結果になります。ここには小さな問題が残っていると確信していますが、私の人生ではわかりません。

+2

注:あなたは、組み込みの 'list'をシャドウイングしているとして、あなたの変数' list'に名前を付けていない、またはより良いあなたの変数を与えていないと何もフィットしない場合、アイテムのいずれかが適合するかFalse場合はTrueを返すことができます/関数名は[\ [Python \]:組み込み関数](https://docs.python.org/3/library/functions.html)にあります。 – CristiFati

+1

これは投稿が行く限り私の部分ではフォーマットが貧弱でした。実際のコードでは、変数に "list"という名前を付けませんでした。私は何年もの間、私の特定の問題に翻訳するのが難しいほど具体的ではないコードの投稿を見つけたので、ここに投稿する前にできるだけ簡潔に物事を保管しようとしました。 – xqj695

答えて

0

listparameter1を混合しています。

def function2(list, variable1): 
    for parameter1 in list: 
     parameter2 = function1(parameter1) 
     if variable1 == parameter2: 
      return True 
     else: 
      return False 

また、この関数は、listの最初の項目がチェックされているときに戻ります。

def function2(list, variable1): 
    for parameter1 in list: 
     parameter2 = function1(parameter1) 
     if variable1 == parameter2: 
      return True 
    return False 
関連する問題