猿问

如何用Python中字典中的值替换函数变量

我试图遍历下面的字典并用字典中的值替换函数内的“字符串”变量,然后执行该函数。我正在考虑编写一个 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")


杨魅力
浏览 323回答 2
2回答

慕尼黑的夜晚无繁华

最好的办法是先修改你的字典。现在“kafka”映射到所有具有相同密钥的字典列表,所以为什么要首先拥有一个密钥。所以你可以有一个像这样的字典:dictionary = {"kafka": ["I am", "You are", "They are"]}也不要调用该变量dict,因为您会覆盖内置函数dict,从而使其无法使用。然后您还必须更改您的函数以实际使用参数。def my_function(string):    print(string + " Refsnes")现在,要遍历 dict 并打印具有所有值的函数,您有两个选项。首先循环字典中的列表并重复调用该函数: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"])

明月笑刀无情

这里有几件事。你是从别处得到的字典,还是你自己设置的?是否有特定的原因需要定义一个函数?如果你自己设置它,我建议你使用列表而不是字典,并且自己做一个 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)
随时随地看视频慕课网APP

相关分类

Python
我要回答