2014-09-03 112 views
-1

我想使用數組索引列表中的每個元素。例如,我想使用list[arr] = 1,其中arr是一個數組而不是list[ind] = 1,其中ind是一個數字索引。使用Dictionary數據結構可以完成這項工作,但創建字典非常耗時。有沒有其他辦法可以做到以上?Python中的數組索引列表

+0

創建字典比創建列表更加「耗時」嗎? 另外,你是什麼意思的「數組」? Python有列表和元組。你想用其中之一作爲關鍵/索引嗎? – 2014-09-03 13:38:36

+0

你不能。列表是使用整數索引的序列。 – chepner 2014-09-03 13:47:30

+0

你能更具體地瞭解「字典創作耗時」嗎?創建'dict'比'list'需要更長的時間的部分原因是它提供了更靈活的索引。 – chepner 2014-09-03 13:48:48

回答

0

pythons列表實際上是一個可變長度的指針數組,而不是像最初想象的那樣的鏈。因此,它們允許在O(1)中進行隨機訪問,就像您所描述的那樣,而不需要地圖所具有的哈希算法的成本。

如果您需要在C.使用你的運氣了純數組或需要將其提取到模塊,並做

來源:Python documentation

0

您可以使用字典,元組爲關鍵:

mappings = { (1,2,3,4): 5, (2,3,6,1): 9 } 
0

我是新來的蟒蛇。

數組在python中可能會很棘手。如在大多數情況下,該術語未被使用。可能是因爲它是一個抽象的概念。幾乎任何在Python中的東西都可以是一個數組。 我知道有4種基本類型的數組。字符串,列表,元組,字典。照這樣說。以下簡單的代碼可以回答你的問題。

#! /usr/bin/env python 


animals = ('cat', 'dog', 'horse', 'lion') 

vehicle = ('car', 'truck', 'motorcycle') 

fish = ('bass', 'trout', 'carp') 


my_array = [ animals, vehicle, fish ] 


print my_array[0] 
print my_array[1] 
print my_array[2] 


>>> 
('cat', 'dog', 'horse', 'lion') 
('car', 'truck', 'motorcycle') 
('bass', 'trout', 'carp') 
>>>