我正在创建一个程序,其中检查输入对象以查看它是否存在于列表中。如果是,那么它获取位置编号,然后使用它来确定来自另一个列表的响应。 是否可以在列表中包含变量:
list[1] = "Some text"
list[2] = "Some more text"
list[3] = "Even more text"
因此,不需要一个很长的列表(它也可以更容易找到术语值)
如果你知道Small Basic中的数组,你就会明白我的意思。
答案 0 :(得分:0)
使用Python dict,你可以沿着这些方向做点什么。
首先,在多行块中包含所有文本行:
constants='''\
Some text
Some more text
Even more text'''
然后使用dict理解来创建文本行和数字之间的映射:
to_test={line:i for i, line in enumerate(constants.splitlines(), 1)}
>>> to_test
{'Some more text': 2, 'Some text': 1, 'Even more text': 3}
然后你测试一些测试的成员资格:
>>> 'Some text' in to_test
True
找到带有文本的关联整数:
>>> to_test['Some text']
1
答案 1 :(得分:0)
除了dawg的回答,如果你真的想要一个python列表,你应该这样做:
l = ["Some text", "Some more text", "Even more text"]
然后,您可以使用它:
>>> "Some text" in l
True
>>> l.index("Some text")
0
您也可以通过这种方式构建l
,但它不那么“pythonic”:
l = []
l.insert(0, "Some text")
l.insert(1, "Some more text")
l.insert(2, "Some more text")
还要记住python索引是基于0
的!