如何在python列表中获取某个索引的值?

Fah*_*ter 6 python

我有一个看起来像这样的列表

List = [q1,a1,q2,a2,q3,a3]
Run Code Online (Sandbox Code Playgroud)

我需要最终的代码是这样的

dictionary = {q1:a1,q2:a2,q3:a3}
Run Code Online (Sandbox Code Playgroud)

如果我只能获得某个索引的值,例如List [0]我可以完成这个,有什么方法可以得到它吗?

zzz*_*eek 11

dict给定包含元组的iterable的情况下,可以使用类构造Python字典.我们可以将它与range内置结合使用来生成元组集合(每个奇数项,每个偶数项),并将其传递给dict,以便值在最终中将它们组织成键/值对结果:

dictionary = dict([(List[i], List[i+1]) for i in range(0, len(List), 2)])
Run Code Online (Sandbox Code Playgroud)

  • 你可以取出`[]`来将列表理解改为生成器以提高效率:`dict((List [i],List [i + 1])for i in range(0,len(List), 2))`那样,它不会生成一个列表,只是在它转换为dict之后将它扔掉. (2认同)

sth*_*sth 11

使用扩展切片表示法:

dictionary = dict(zip(List[0::2], List[1::2]))
Run Code Online (Sandbox Code Playgroud)