リスト内のΣ計算(先頭項目からの小計)をしたい

リスト内のΣ計算(先頭項目からの小計)をしたい

kotaniX4N2A
Advocate Advocate
944件の閲覧回数
4件の返信
メッセージ1/5

リスト内のΣ計算(先頭項目からの小計)をしたい

kotaniX4N2A
Advocate
Advocate

お世話になります。

Revitで表の作成を試みています。

例題では 、A列で同じ値となるグループリストを作成して、各グループの個数に対応する位置に値を記載したいと思っています。

具体的には、A列の座標値差分リスト[0,-15,-55]に対して、リスト内のΣ計算(先頭項目からの小計)をして[0,-15,-70]となるDynamoプログラムの作成方法が分からなくて困っています。(リスト個数は可変)

現状の表は、座標値を上手く計算できずA列の記載がずれています。

 

 

(現状のDynamo画面例)

スクリーンショット 2024-02-19 110907.png

スクリーンショット 2024-02-19 105728.png

 

(欲しいDynamo画面例)

スクリーンショット 2024-02-19 105310.png

スクリーンショット 2024-02-19 105654.png

Pythonの知識が不足していますが、Python利用でも大丈夫です。

[0,-15,-55]⇒[0,-15,-70]となるDynamoプログラムの作成をご教示いただけますと幸いです。(リスト個数は可変)

以上、アドバイスを宜しくお願い致します。

0 件のいいね
解決済み
945件の閲覧回数
4件の返信
返信 (4)
メッセージ2/5

AITS-miura
Collaborator
Collaborator

python scriptだと、 [0,-15,-55]を [0,-15,-70]とするには、以下のコードになります。

AITSmiura_0-1708327546836.png

 

x = IN[0]

xs = sum(x)
x[-1] = xs

OUT = x
メッセージ3/5

AITS-miura
Collaborator
Collaborator

@kotaniX4N2A 様

補足で、リストが複数になる場合は、forループを使用します。

x = IN[0]


for i in range(len(x)):
    xs = sum(x[i])
    x[i][-1] = xs

OUT = x

 

メッセージ4/5

katsuhisa.shibataJUJVG
Collaborator
Collaborator
解決済み

累積値を求めたい,ということと想像すると,添付のようでしょうか。

メッセージ5/5

kotaniX4N2A
Advocate
Advocate

アドバイスありがとうございます。

今回いただいたPythonプログラムで例題をテスト後、実装して欲しいリストを作成できました。

 

私は設計者でRevitユーザーですが、Pythonプログラムを作成するのはハードルが高いです。

今後はなるべく多くの例題を集めてPythonでも対応できるようになりたいと思っています。

宜しくお願い致します。

スクリーンショット 2024-02-20 093643.png

スクリーンショット 2024-02-20 093520.png