簡體   English   中英

如何使用Python獲取列表列表中最大列表的索引?

[英]How do I get the index of the largest list inside a list of lists using Python?

我將Cinema4D中的動畫關鍵幀(使用超棒的py4D)存儲到列表列表中:

props = [lx,ly,lz,sx,sy,sz,rx,ry,rz]

我在任意動畫中打印出每個屬性/軌道的關鍵幀,它們的長度不同:

track Position . X has 24 keys
track Position . Y has 24 keys
track Position . Z has 24 keys
track Scale . X has 1 keys
track Scale . Y has 1 keys
track Scale . Z has 1 keys
track Rotation . H has 23 keys
track Rotation . P has 24 keys
track Rotation . B has 24 keys

現在,如果我想在Blender中使用這些鍵,我需要做類似的事情:

  1. 轉到當前幀
  2. 設置該關鍵幀的屬性(可以是位置,旋轉,縮放)並插入關鍵幀

到目前為止,我的計划是:

  1. 從0循環到所有屬性的最大關鍵幀數
  2. 循環通過每個屬性
  3. 檢查它是否為當前密鑰存儲了值,如果是,則轉到Blender中的框架並存儲值/插入關鍵幀

這是最好的方法嗎?

這是問題的背景。

首先,我需要找到最大的道具商店列表。 我是python的新手,想知道是否有一個神奇的功能可以幫助你。 與max()類似,但是對於列表長度。

目前我正在考慮像這樣編碼:

//after props are set
lens = []
for p in props: lens.append(len(p))
maxLen = max(lens)

最好的方法是什么?

謝謝

max(enumerate(props), key = lambda tup: len(tup[1]))

這將為您提供包含道具中最長列表(index, list)的元組。

您可以使用生成器表達式:

maxLen = max(len(p) for p in props)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM