【问题标题】:Python: How can I pass and use variable in function?Python:如何在函数中传递和使用变量?
【发布时间】:2023-03-14 04:36:01
【问题描述】:

是否可以将变量(例如字符串)传递给 python 中的函数,然后将其用作列表的名称?如何转换?

def compare(string_variable, filename):
        with open(filename) as fr:
            for line in fr:
                variable.writelines(line)

compare(string_variable , filename)

——编辑——

这不是完整的代码,甚至不是实际的代码,因为我想简化它以使我的问题尽可能狭窄。我看到我在编写 string.writlines 等时犯了一个愚蠢的错误。下面是伪代码的更正版本,速度非常快,如果我犯了任何错误,请见谅

我正在尝试做的是将一个字符串变量传递给一个函数,将此变量用作一个列表,将行添加到它并将其保存在内存中以供以后比较。这将通过基于 dict key: value 的循环来完成,所以我希望我的列表具有类似于 dict 中的键值的名称,以便在每次循环时生成一个不同命名的列表。

类似:

x = {
    key: value
    key2: value2
    }

def compare(key, filename):
        with open(filename) as fr:
            for line in fr.readlines():
                key_but_as_list.append(line)

for key in x.keys()
    compare(key, filename)

你现在明白我的想法了吗?

【问题讨论】:

  • 是的,这是可能的。但首先为什么?
  • 我正在遍历一个具有 "type": "filename" 的字典
  • 您的代码实际上有很多错误。变量未定义,writelines 是一个文件属性,你不能只迭代 fr 等等。你想做什么?
  • 有很多优秀的 Python 基础学习指南
  • 老兄,这个答案没有帮助

标签: python string list function parameter-passing


【解决方案1】:

是的,

var='Hello'
def some_fun(var):
   var=[]
   var.append('Something')
   print var
some_fun(var)

【讨论】:

  • 这个例子很糟糕;无论var 作为参数传递时具有的任何值,它都会在方法的范围内设置为空列表,并附加该字符串并且将打印“Something”。总是;不管var的值是多少。
  • 这只是字符串变量是否可以用作列表的示例,现在介绍如何使用它,范围(如果在整个代码中),留给用户即兴发挥,这只是一个硬编码的版本
猜你喜欢
  • 2015-04-27
  • 2021-02-07
  • 2019-06-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-03
  • 1970-01-01
  • 2021-09-26
相关资源
最近更新 更多