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

2024-05-08 18:19:36 发布

您现在位置:Python中文网/ 问答频道 /正文

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

Tags: 函数功能forstring字典valuemydef
2条回答

这里有几件事。这本词典是你从别处弄来的,还是你自己编的?你需要定义函数的具体原因是什么?如果您是自己设置的,我建议您使用列表而不是字典,只需自己执行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)

最好的办法是首先修改你的dict。现在“kafka”映射到一个dict列表,所有的dict都有相同的键,那么为什么要麻烦呢,首先要有一个键呢。 所以你可以有这样的口述:

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"])

相关问题 更多 >