Python:Array v.List

时间:2012-02-23 00:17:57

标签: python arrays list random

  

可能重复:
  Python List vs. Array - when to use?

我正在使用Python开展一些项目,我有几个问题:

  1. 阵列和列表之间有什么区别?
  2. 如果问题1不明显,我应该使用哪个?
  3. 你如何使用首选的? (创建数组/列表,添加项目,删除项目,选择随机项目)

2 个答案:

答案 0 :(得分:39)

除非您需要C数组库中的一些非常具体的功能,否则请使用列表。

python确实有三个原始数据结构

tuple = ('a','b','c')
list = ['a','b','c']
dict = {'a':1, 'b': true, 'c': "name"}

list.append('d') #will add 'd' to the list
list[0] #will get the first item 'a'

list.insert(i, x) # Insert an item at a given position. The first argument is the index of the element before which to insert, so a.insert(0, x) inserts at the front of the list, and a.insert(len(a), x) is equivalent to a.append(x).    

list.pop(2) # will remove items by position (index), remove the 3rd item
list.remove(x) # Remove the first item from the list whose value is x.

list.index(x) # Return the index in the list of the first item whose value is x. It is an error if there is no such item.

list.count(x) # Return the number of times x appears in the list.

list.sort(cmp=None, key=None, reverse=False) # Sort the items of the list in place (the arguments can be used for sort customization, see sorted() for their explanation).

list.reverse() # Reverse the elements of the list, in place.

有关数据结构的更多信息: http://docs.python.org/tutorial/datastructures.html

答案 1 :(得分:13)

这里没有什么具体的,这个答案有点主观......

一般来说,我觉得你应该使用一个列表,因为它在语法中受支持,并且在其他库中使用得更广泛等。

如果您知道“列表”中的所有内容都属于同一类型并且您希望更紧凑地存储数据,则应使用arrays