Python有一個內置的功能來檢查整個切片的有效性:slice.indices
。是否有類似的內置的個人指數?是否有內置的方法來檢查Python中的各個列表索引
具體來說,我有一個索引,比如a = -2
,我希望就4元素列表進行歸一化。是否有一種方法與已經內置的相同?
def check_index(index, length):
if index < 0:
index += length
if index < 0 or index >= length:
raise IndexError(...)
我的最終結果是能夠構造一個具有單個非None
元素的元組。我目前使用list.__getitem__
做檢查,對我來說似乎有點尷尬/矯枉過正:
items = [None] * 4
items[a] = 'item'
items = tuple(items)
我想能夠做到
a = check_index(a, 4)
items = tuple('item' if i == a else None for i in range(4))
一切都在這個例子中是相當議。唯一固定的是我得到a
的方式,可以有任意索引可以有的所有問題,並且最終結果必須是tuple
。
如果解決方案使用numpy並且只能真正應用於numpy數組而不是Python序列,那麼我會非常高興。任何一個對於我想要的應用都是完美的。
等等,你想要一個元組或數組?很難說。 – user2357112
瀏覽http://code.activestate.com/recipes/579000/ –
@ user2357112。最終結果是一個元組。它將用於創建數組中的索引,所以我願意查看僅用於數組的索引檢查方法。 –