我想声明一个数组,并删除ListBox中所有项目,而不管ListBox中的组名。 有人能帮我用Python编码吗? 我正在使用WINXP操作系统和Python 2.6。
我想声明一个数组,然后删除ListBox中的所有项目,无论ListBox中的组名是什么。请帮我用Python编写代码。我正在使用WINXP操作系统和Python 2.6版本。我想声明一个数组,并删除ListBox中所有项目,而不管ListBox中的组名。 有人能帮我用Python编码吗? 我正在使用WINXP操作系统和Python 2.6。
我想声明一个数组,然后删除ListBox中的所有项目,无论ListBox中的组名是什么。请帮我用Python编写代码。我正在使用WINXP操作系统和Python 2.6版本。list
是一个动态数组。你可以像这样创建一个:lst = [] # Declares an empty list named lst
或者你可以用物品填充它:
lst = [1,2,3]
您可以使用 "append" 添加项目:
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命令或remove函数,例如:
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
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列表相同的方法,除了一些字符串和文件转换方法。它缺少所有额外的数字功能。
以下是我最近在不同的stackoverflow帖子上发现的一种很好的方法,针对多维数组,但这个答案也很适用于单维数组:
# Create an 8 x 5 matrix of 0's:
w, h = 8, 5;
MyMatrix = [ [0 for x in range( w )] for y in range( h ) ]
# Create an array of objects:
MyList = [ {} for x in range( n ) ]
我喜欢这个功能,因为你可以在一行代码中动态指定内容和大小。
再来一个:
# Dynamic content initialization:
MyFunkyArray = [ x * a + b for x in range ( n ) ]
您可以按以下方式动态声明一个一维的Numpy数组:
import numpy as np
n = 2
new_table = np.empty(shape=[n,1])
new_table[0,0] = 2
new_table[1,0] = 3
print(new_table)
[[2.] [3.]]
虽然常规的 Python 列表可以用作动态列表,但它可能存在一种实现方式上的问题。在 CPython 中,列表被实现为双指针数组,如此处所述here。 如果您想遍历长列表,会有很多内存跳转,与存储在内存中“连续”存储的数组相比,性能较低,意味着所有元素都一个接一个地存储。如果列表以这种方式排序,由于Temporal Locality,CPU 访问该内存的时间将减少。
如果您希望以这种方式存储列表,可以使用NumPy数组。但是NumPy数组不实现几何扩展。因此,您可以在Python中创建一个可以执行此操作的类。每次添加一个元素时,列表将扩展到其大小的x倍(其中x在不同的语言中有不同的实现方式)。这种类型的动态数组无法像Python列表那样存储不同类型的数据(本身就不好做),但它在迭代速度上要快于Python列表。