数组保持空白

时间:2015-01-01 18:58:12

标签: python

single_item_arrays = []
component_text_ids = []

def getText_identifiers(component_id) :
    if component_id is 'powersupply':
        for i in ['Formfactor','PSU',]:
            component_text_ids.append(i)
        single_item_arrays = formaten,PSU = [],[]

getText_identifiers('powersupply')
print(single_item_arrays)
print(component_text_ids)

结果是

[]
['Formfactor', 'PSU']

我希望如果条件发生,应该创建数组,以便将被抓取的数据放入两个单独的数组中。

我试过一些事情仍然无法通过内部函数创建数组if if语句

2 个答案:

答案 0 :(得分:0)

您无法为全局变量(single_item_arrayscomponent_text_ids)执行任务,但您可以执行类似append的更改。

答案 1 :(得分:0)

通常不赞成,但是如果在更新版本的Python上显式声明变量global,则可以在技术上从函数内部更改全局变量的赋值。全局变量通常被认为是bad thing,因此请谨慎使用 - 但您可能也知道它是该语言的一个特征。

single_item_arrays = []
component_text_ids = []

def getText_identifiers(component_id) :
    global single_item_arrays # Notice the explicit declaration as a global variable
    if component_id is 'powersupply':
        for i in ['Formfactor','PSU',]:
            component_text_ids.append(i)
        single_item_arrays = formaten,PSU = [],[]

getText_identifiers('powersupply')
print(single_item_arrays)
print(component_text_ids)

另见Use of "global" keyword in Python

我个人会使用以下内容,用显式返回变量替换全局变量:

def getText_identifiers(component_id) :
    single_item_arrays, component_text_ids = [], []
    if component_id is 'powersupply':
        for i in ['Formfactor','PSU',]:
            component_text_ids.append(i)
        single_item_arrays = formaten,PSU = [],[]
    return single_item_arrays, component_text_ids

single_item_arrays, component_text_ids = getText_identifiers('powersupply')
print(single_item_arrays)
print(component_text_ids)