[問題] 特殊的list iteration
有一個function states(x)會列出該變數從t=0到t=N的狀態,
比如:
states(a) => [10, 20, 30...]
states(b) => [5, 6, 7...]
states(c) => [0, 0, 0...]
現在有一個list用來儲存所有要分析的變數:
trace_vars = [a, b, c, x, y, z, ...]
如果我想以t為軸,迭代觀察每個變數在時間t的狀態,
比方說:
t=0: (10, 5, 0...)
t=1: (20, 6, 0...)
t=3: (30, 7, 0...)
通常可使用zip來達成,
比方說如果只觀察a、b、c這三個變j:
for S in zip(states(a), states(b), states(c)):
...
問題是現在要觀察的變數存在list裡,
這個list是可能變動的,
不可能一一寫死在zip的參數當中,
如果使用
zip([states(v) for v in trace_vars]),
那麼zip只會當成單一個list來處理。
想請問在Python有什麼可行的方法嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.114.88.144
→
10/15 22:48, , 1F
10/15 22:48, 1F
推
10/15 22:52, , 2F
10/15 22:52, 2F
→
10/15 22:52, , 3F
10/15 22:52, 3F
推
10/15 22:54, , 4F
10/15 22:54, 4F
→
10/15 22:56, , 5F
10/15 22:56, 5F
→
10/16 00:50, , 6F
10/16 00:50, 6F
→
10/16 11:09, , 7F
10/16 11:09, 7F