我正在创建一个程序,其中输入对象被检查以查看它是否出现在列表中。如果是,那么它会得到位置编号,然后用它来确定来自另一个列表的响应。 是否有可能有变量列表中,像这样:Python列表值设置
list[1] = "Some text"
list[2] = "Some more text"
list[3] = "Even more text"
这样一个并不需要很长的名单(这也使得它更容易找到项值)
如果你知道有在Small Basic中的数组,你会明白我的意思。
我正在创建一个程序,其中输入对象被检查以查看它是否出现在列表中。如果是,那么它会得到位置编号,然后用它来确定来自另一个列表的响应。 是否有可能有变量列表中,像这样:Python列表值设置
list[1] = "Some text"
list[2] = "Some more text"
list[3] = "Even more text"
这样一个并不需要很长的名单(这也使得它更容易找到项值)
如果你知道有在Small Basic中的数组,你会明白我的意思。
使用Python dict,您可以沿着这些线做些事情。
首先,有你行文字在多块:
constants='''\
Some text
Some more text
Even more text'''
然后用字典的理解,以创建一个映射中间人文本线和一批:
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
除了耶的回答,如果你真的想要一个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
!
请不要调用列表'list',因为你用该名称掩盖了函数。 – dawg 2014-09-24 15:52:09
听起来更像你想要的[字典](https://docs.python.org/3/library/stdtypes.html#dict)。 – Ryan 2014-09-24 15:52:24
我认为你应该首先给出一个基本的[Python教程](https://developers.google.com/edu/python/)。 – skrrgwasme 2014-09-24 16:00:53