【问题标题】:add a string to a string variable python [duplicate]将字符串添加到字符串变量python [重复]
【发布时间】:2018-05-01 15:03:22
【问题描述】:

如何在 Python 中连接变量和字符串?

cases = ['087360','095140']

for case in cases:
    case+'biofile' = pandas.read_csv(case+'/InputFiles/BioSave.csv')

我希望它存储“087360biofile”和“095140biofile”。

【问题讨论】:

  • 你不能这样命名变量。请改用字典。 my_dict = {case+'biofile': pandas.read_csv(case+'/InputFiles/BioSave.csv') for case in cases}。然后访问您的元素,例如my_dict['087360biofile']

标签: python string concatenation


【解决方案1】:

字典好不好?

biofile = {}

for case in cases:
    biofile[case] =  pandas.read_csv(case+'/InputFiles/BioSave.csv')

然后你可以访问它:

biofile['087360']

【讨论】:

  • "字典好用吗?"是的。 :)
【解决方案2】:

你几乎不想这样做,但如果你真的这样做 - python 中的所有变量都存储在字典中。您可以直接访问这些字典,例如局部变量字典。

for case in cases:
    locals()[case+'biofile'] = pandas.read_csv(case+'/InputFiles/BioSave.csv')

但不幸的是,这没有用!不是因为我们如何分配它,而是因为名称以数字开头,这意味着我们无法访问它(通过字典除外),因为 python 解析器会尝试将数字拆分为单独的东西。我们可以选择

for case in cases:
    locals()['biofile'+case] = pandas.read_csv(case+'/InputFiles/BioSave.csv')

这会给你一个有效的python名称(例如biofile087360)。

但是将它们放入字典中会更自然(并且可能是您想要做的)

biofiles = {}
for case in cases:
    biofiles[case] = pandas.read_csv(case+'/InputFiles/BioSave.csv')

【讨论】:

  • 加 1 指出变量不能以数字开头。
猜你喜欢
  • 1970-01-01
  • 2012-12-15
  • 2012-10-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-09
  • 2020-09-20
相关资源
最近更新 更多