我试图遍历下面的字典,并用字典中的值替换函数内的“字符串”变量,然后执行该函数。我正在考虑编写一个for循环,然后将功能包括在for循环内。请帮忙。
预期功能:
def my_function(fname): string = value print(string + " Refsnes") my_function("string")
dict = {"kafka":[{
"value":"I am"},
{"value":"You are"},
{"value":"They are"}
]}
def my_function(fname):
string = "I am"
print(string + " Refsnes")
my_function("string")
答案 0 :(得分:0)
这里有几件事。您是从其他地方获得字典的,还是您自己设置的?是否需要定义函数的特定原因?如果您要自行设置它,我建议您使用列表而不是字典,并且仅自己进行一个for循环,就像这样:
kafka = ['I am ', 'You are ', 'They are']
for k in kafka:
print(k + 'Refsnes')
如果您需要将其用作字典并且需要将其用作函数,则可以这样处理。 (请注意,您不需要从字典中提取项目的函数,因此我实际上会将循环放在函数中。)
kafkadict = {"first person": "I am", "second person": "You are", "third person plural": "They are"}
def printKafkaStuff(dictinput):
for k in dictinput.values():
print(k + " Refsnes")
然后用
调用printKafkaStuff(kafkadict)
答案 1 :(得分:0)
最好的办法是首先修改您的字典。现在,“ kafka”映射到所有具有相同密钥的字典列表,因此为什么要麻烦并首先拥有一个密钥。 因此,您可能会有一个像这样的字典:
dictionary = {"kafka": ["I am", "You are", "They are"]}
也不要调用变量dict
,因为您将覆盖内置函数dict
,这使其无法使用。
然后,您还必须更改功能以实际使用参数。
def my_function(string):
print(string + " Refsnes")
现在,要遍历字典,请使用两个值来打印带有所有值的函数。
首先循环访问字典中的列表,然后重复调用该函数:
for string in dictionary["kafka"]:
my_function(string)
或者为您的函数提供一个列表,然后遍历该函数中的列表。您的函数将如下所示:
def my_function(list_of_strings):
for string in list_of_strings:
print(string + " Refsnes")
# Call function with
my_function(dictionary["kafka"])