文字列のリストを持ってみましょう:fruit = ["apple", "orange", "banana"]
。Pythonの文字列のリストの反復
for icnt, i in fruit:
jcnt = icnt
j = i
print ("icnt: %d, i: %s", icnt, i)
for jcnt, j in fruit:
print ("i: %s, j: %s", i, j)
首を長くして文字列がicnt-th
から起動しない:私は、すなわち
apple - apple, apple - orange, apple - banana,
orange - orange, orange - banana,
banana - banana
私の考えはenumerate
果物にして、次のか、すべての可能なペアを出力し、出力を持っていると思いますポジションから始まります。どのようにi番目の文字列から2番目のループを開始するには?あなたが任意の繰り返しをしたくない場合は
apple - apple
apple - orange
apple - banana
orange - orange
orange - banana
banana - banana
またはitertools.combinations
:
import itertools
for a,b in itertools.combinations_with_replacement(["apple", "orange", "banana"],2):
print("{} - {}".format(a,b))
出力:これを行うには
使用は 'あなたが' itertools.combinations'を使用する必要がありますが、あなたの質問に答えるために、 –
をitertools.combinations'、あなたは第二のループに 'fruit'リストをスライスする必要がjcnt、jの列挙(果実[icnt:]): 'もしあなたが' enumerate'を使うつもりなら、そうしてください。 –