【发布时间】: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