0

キーと値のペアのリストの値の部分にある複数の値に対して計算を実行しようとしています。

だから私は次のようなものを持っています:
[('apples'、['254'、 '234'、 '23'、 '33'])、('bananas'、['732'、 '28'])、('squash '、[' 3'])]

上記の整数の平均であるy値のリストを作成しようとしています。

私が書き込もうとしているのは、item[1]に0個の要素が含まれている場合は次 の
擬似 コード です 。。平均数を追加



方法がわからないのは、各キーの値セットに存在する可能性のあるすべての値にアクセスする方法です。

4

3 に答える 3

2

pairsペアのリストはどこにありますか:

averages = [float(sum(values)) / len(values) for key, values in pairs]

平均値のリストが表示されます。

sum(values)例のように数値が文字列の場合は、上記を。に置き換えますsum([int(i) for i in values])

編集:そして、辞書が必要な場合は、平均のリスト:

averages = dict([(key, float(sum(values)) / len(values)) for key, values in pairs])
于 2010-07-08T21:22:48.917 に答える
0
ys = []
for k, v in items:
    avg = sum(map(float, v))/len(v)
    ys.append(v)
于 2010-07-08T21:23:01.413 に答える
0

あなたはリストの平均を見つけることができます

sum(float(i) for i in lst) / len(lst)

リストの要素が整数の場合、次のことができます。

float(sum(lst)) / len(lst)

しかし、あなたの例では、それらは文字列なので、変換する必要があります。

この場合、Pythonのリスト内包表記機能を使用して、平均のリストを自動的に作成することを実際にお勧めします。元のペアのリストに名前が付けられている場合は、次のように言いますfruit_list(スカッシュは果物ではないことを知っているので、私を訴えます)。

averages = [[] if len(values) == 0 else sum(float(i) for i in values)/len(values) for fruit, values in fruit_list]

少し奇妙に思えますが、その場合、一部の要素が浮動小数点数であり、他の要素が空のリストであるリストが表示されるためです。たとえば、に値がない場合0の代わりに、使用するつもりはなかったのですか?[]item[1]

于 2010-07-08T21:23:21.583 に答える