-5
我遇到了一個與我的python程序有關的問題。基本上,這裏是我想要做的事:Python在列表中使用變量作爲函數的參數
categories = [cat1 , cat2]
for x in categories:
print x
print function(x)
我希望它做的是打印:
CAT1當CAT1變量用於
(函數的結果作爲參數)
CAT2
(你的想法)
我遇到了一個與我的python程序有關的問題。基本上,這裏是我想要做的事:Python在列表中使用變量作爲函數的參數
categories = [cat1 , cat2]
for x in categories:
print x
print function(x)
我希望它做的是打印:
CAT1當CAT1變量用於
(函數的結果作爲參數)
CAT2
(你的想法)
我在這個設置中,你的代碼工作得很好。你有什麼問題?
>>> cat1 = "CAT1"
>>> cat2 = "CAT2"
>>>
>>> def function(x):
... return x[::-1]
...
>>> categories = [cat1, cat2]
>>>
>>> for x in categories:
... print x
... print function(x)
...
CAT1
1TAC
CAT2
2TAC
如果你要打印CAT1的名稱,必須使用名字,因爲不存在一個引用和對象之間的一一對應關係開始。
例如
categories = ["cat1", "cat2"]
for x in categories:
print x
print function(locals()[x])
在這裏你去:
#!/usr/bin/python
def myfunc(myvar):
return len(myvar)
cat1 = "First category"
cat2 = "Second category"
categories = [cat1, cat2]
variable_names = ["cat1", "cat2"]
for varname, category in zip(variable_names, categories):
print varname
print myfunc(category)
輸出:
cat1
14
cat2
15
使用詞典可能是更好的,如果這真的是你想要的東西:
#!/usr/bin/python
def myfunc(myvar):
return len(myvar)
categories = {"cat1": "First category", "cat2": "Second category"}
for category in categories:
print category
print myfunc(categories[category])
不,我不明白你的想法。你的代碼面臨什麼問題? – kevinamadeus
也許我很笨......你能更具體嗎? – CppLearner
我認爲這裏的主要問題是他想打印變量名稱。 –