【问题标题】:Python - Find a Number in a String List and return String+NumberPython - 在字符串列表中查找一个数字并返回字符串+数字
【发布时间】:2017-08-20 17:43:44
【问题描述】:

需要这个:

a_1 = 10
a_2 = 15
a_3 = 4
a_4 = 25

x = 3

a_(x) = 4

我试过这个:

list = ["a_1", "a_2", "a_3", "a_4"]
x = 3
matching = [s for s in list if (x) in s]

TypeError: 'in' 需要字符串作为左操作数,而不是 int

所以:

list = ["a_1", "a_2", "a_3", "a_4"]
x = "3"
matching = [s for s in list if (x) in s]
matching = 'a_3'

成功了,但有更好的方法吗?

【问题讨论】:

  • 您能否详细说明您需要/正在尝试做什么...可能是,但我无法弄清楚您实际上在问什么/之后。也许是这样的句子:“我有 abc,我想 xyz 这会给我 foobar”...
  • hm,错误说明出了什么问题,并且您看到您需要将x 设为字符串,那么为什么不简单地使用[s for s in list if str(x) in s]。另外,不要选择与 Python 类型冲突的变量名称:list 不是一个好名称。
  • 哈哈真的马库斯,谢谢

标签: python-3.x list find alphanumeric


【解决方案1】:

我真的不知道怎么问,我只需要这个:

eval("a_" + str(x))

谢谢大家

【讨论】:

  • 我不建议为此使用eval()。马库斯穆勒的评论是最好的答案。
猜你喜欢
  • 2014-03-17
  • 1970-01-01
  • 2023-04-03
  • 1970-01-01
  • 2023-03-14
  • 2020-01-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多