2017-05-02 10 views
0

で同時に複数の変数を定義し、私は、オブジェクトの最初のインデックスである整数を定義したい:私のPythonのリスト内の各オブジェクトについてはPython

私は同時にすべてのオブジェクトのような定義を作るにはどうすればよい
firstindex(some object) = mylist.index(some object) 

私はこれをやってみました:

firstindex = [] 
i=1 

while i < 100 : 
    firstindex.append(mylist.index("i")) 
    i=i+1 

しかし、それは 'i' がリストにないことを私に伝えます。ただし、リストの形式は[1,1,1,1,1,2,2,2,2,2,3,3,3,3、...]

+0

'i 'の引用符を削除します – DavidG

+1

このエラーは、「複数の変数を同時に定義する」には関係しません。 [mcve]の作成方法を参照してください。 –

答えて

1

以下に、あなたのコード:

firstindex = [] 
i= 1 

while i < 100 : 
    firstindex.append(mylist.index(str(i))) 
    i=i+1 

あなたの前のコードは、文字列の「i」である「i」の値を、リスト内の項目で検索。代わりに、文字列 "1"、次に "2"、 "3"などの変数iの値を検索する必要があります。ですから、単にstr(i)のインデックスを検索してください。

Str(i)は、iの値の文字列を返します。

+0

実際に私のリストは['1'、 '1'、 '1'、 '2'、 '2'、....]の形式です。 – fredflintstone2000

+0

これは文字列で構成されています。どのように各リスト要素のデータ型を変更できますか? – fredflintstone2000

+0

すぐに私の答えを編集します。 – RoaaGharra

0

これは、funct list.index(obj)がリスト内のオブジェクトのインデックスを返すためです。

>>> ["foo", "bar", "baz"].index("bar") 
1 

そして、あなたのリスト"mylist"それはあなただけdictionnaryを使用していないのはなぜ文字列

1

で、インデックス"i"をコンテンツではないかもしれオブジェクトのリストですか?

d = dict() # or d = {} 
for i in range(100): 
    d['firstindex_'+str(i)] = "" 

これは、すべての値が空の文字列であるサイズ100の辞書を作成します。あなたはd ['firstindex_0']からd ['firstindex_99']までそれにアクセスすることができます。

関連する問題