2010-05-26 45 views
12

我想要声明一个数组,列表框中存在的所有项应该被删除,而不管列表框中存在的组名。任何机构可以帮助我用Python进行编码。我正在使用WINXP OS & Python 2.6。在Python中我如何声明动态数组

+3

什么是ListBox? – kennytm 2010-05-26 07:31:52

+5

你想要做一个图形用户界面吗?什么框架? – voyager 2010-05-26 07:32:50

+0

@KennyTM查看问题的标签:列表框是“一个图形用户界面元素,允许用户从列表中选择一个或多个项目。” – 2013-07-01 06:00:55

回答

61

在Python中,list是一个动态数组。你可以创建一个这样的:

lst = [] # Declares an empty list named lst 

或者你可以用物品填充:

lst = [1,2,3] 

可以使用添加项目“追加”:

lst.append('a') 

您可以通过元素迭代使用for循环的列表:

for item in lst: 
    # Do something with item 

或者,如果你想保持目前的指数跟踪:

for idx, item in enumerate(lst): 
    # idx is the current idx, while item is lst[idx] 

删除元素,你可以使用del命令或删除功能,如:

del lst[0] # Deletes the first item 
lst.remove(x) # Removes the first occurence of x in the list 

注,尽管如此,人们不能遍历列表并同时对其进行修改;要做到这一点,你应该迭代列表的一部分(这基本上是列表的一个副本)。如:

for item in lst[:]: # Notice the [:] which makes a slice 
     # Now we can modify lst, since we are iterating over a copy of it 
4

在python中,动态数组是数组模块中的'数组'。例如。

from array import array 
x = array('d')   #'d' denotes an array of type double 
x.append(1.1) 
x.append(2.2) 
x.pop()     # returns 2.2 

此数据类型基本上是内置的“列表”类型和numpy的“ndarray”型之间的交叉。像ndarray一样,数组中的元素是C类型,在初始化时指定。它们是而不是指向python对象的指针;这可能有助于避免一些误用和语义错误,并且适度地提高了性能。

但是,该数据类型与python列表基本上具有相同的方法,禁止几个字符串&文件转换方法。它缺乏ndarray的所有额外数字功能。

有关详细信息,请参见https://docs.python.org/2/library/array.html