1

編集: グラフィックを更新して、私が何を目指しているかを説明しようとしました。

4

5 に答える 5

4

new_list = range(len(old_list))

于 2013-02-23T10:10:11.137 に答える
1

注: list はキーワードであるため、変数リストに名前を付けるべきではありません。 enumerate(oldlist)oldlist からインデックスとリスト要素のタプルを生成するジェネレータです。このリスト内包表記は、インデックスのすべての値を生成し、それらを に格納しますnewlist。要素とインデックスが必要な場合、これは良いアプローチです。提案された range(len(thelist)) アプローチは、より大きなリストがたくさんある場合でも、はるかに高速です。

newlist = [i for i,_ in enumerate(oldlist)]
于 2013-02-23T10:06:51.217 に答える
0
In [11]: lst = [17,18,19,0,1]

In [12]: p = [i/(len(lst)-1.) for i in range(len(lst))]  # [0.0, 0.25, 0.5, 0.75, 1.0]

In [13]: [p[i] for i in sorted(range(len(lst)), key=lst.__getitem__)]
Out[13]: [0.75, 1.0, 0.0, 0.25, 0.5]
于 2013-02-23T11:15:44.190 に答える
0

質問についての私の解釈は次のとおりです。

value = [17, 18, 19, 0, 1]  
value_index = range(len(value))
value_remapped = map( lambda x : float(x) / 4.0, value_index)
paired = zip(value, value_remapped)
paired_sort = sorted(paired)


value_sort, value_remapped_sort = zip(*paired_sort)

print "value=", value
print "value_remapped=", value_remapped
print "paired=", paired
print "paired_sort=", paired_sort
print "value_sort=", value_sort
print "value_remapped_sort=", value_remapped_sort

これにより、次のことが得られます。

value= [17, 18, 19, 0, 1]
value_remapped= [0.0, 0.25, 0.5, 0.75, 1.0]
paired= [(17, 0.0), (18, 0.25), (19, 0.5), (0, 0.75), (1, 1.0)]
paired_sort= [(0, 0.75), (1, 1.0), (17, 0.0), (18, 0.25), (19, 0.5)]
value_sort= (0, 1, 17, 18, 19)
value_remapped_sort= (0.75, 1.0, 0.0, 0.25, 0.5)
于 2013-02-23T11:16:16.697 に答える