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语句
答案 0 :(得分:0)
您无法为全局变量(single_item_arrays
,component_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)