Python列表值设置

时间:2014-09-24 15:50:42

标签: python list

我正在创建一个程序,其中检查输入对象以查看它是否存在于列表中。如果是,那么它获取位置编号,然后使用它来确定来自另一个列表的响应。 是否可以在列表中包含变量:

list[1] = "Some text"
list[2] = "Some more text"
list[3] = "Even more text"

因此,不需要一个很长的列表(它也可以更容易找到术语值)

如果你知道Small Basic中的数组,你就会明白我的意思。

2 个答案:

答案 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的!