3

我有一个二维数组:

[[], ['shotgun', 'weapon'], ['pistol', 'weapon'], ['cheesecake', 'food'], []]

我如何从中调用一个值?例如我print (name + " " + type)想得到

霰弹枪武器

我找不到这样做的方法。不知何故print list[2][1],什么也不输出,甚至没有错误。

4

4 回答 4

6
>>> mylist = [[], ['shotgun', 'weapon'], ['pistol', 'weapon'], ['cheesecake', 'f
ood'], []]
>>> print mylist[2][1]
weapon

记住几件事,

  1. 不要命名您的列表,列表...这是python保留字
  2. 列表从索引 0 开始。所以mylist[0]会给出[]
    类似的,mylist[1][0]会给出'shotgun'
  3. 考虑替代数据结构,如字典
于 2012-10-10T19:05:23.987 回答
3

通过索引访问适用于任何sequence (String, List, Tuple):-

>>> list1 = [[], ['shotgun', 'weapon'], ['pistol', 'weapon'], ['cheesecake', 'food'], []]
>>> list1[1]
['shotgun', 'weapon']
>>> print list1[1][1]
weapon
>>> print ' '.join(list1[1])
shotgun weapon
>>>  

您可以使用列表上的连接,将字符串从列表中取出..

于 2012-10-10T19:03:53.407 回答
0
array = [[], ['shotgun', 'weapon'], ['pistol', 'weapon'], ['cheesecake', 'food'], []]
print " ".join(array[1])

用 切片到数组中[1],然后使用 加入数组的内容' '.join()

于 2012-10-10T19:05:02.093 回答
0
In [80]: [[], ['shotgun', 'weapon'], ['pistol', 'weapon'], ['cheesecake', 'food'], []]
Out[80]: [[], ['shotgun', 'weapon'], ['pistol', 'weapon'], ['cheesecake', 'food'], []]

In [81]: a = [[], ['shotgun', 'weapon'], ['pistol', 'weapon'], ['cheesecake', 'food'], []]

In [82]: a[1]
Out[82]: ['shotgun', 'weapon']

In [83]: a[2][1]
Out[83]: 'weapon'

要获取所有列表元素,您应该使用 for 循环,如下所示。

In [89]: a
Out[89]: [[], ['shotgun', 'weapon'], ['pistol', 'weapon'], ['cheesecake', 'food'], []]

In [90]: for item in a:
    print " ".join(item)
   ....:     

shotgun weapon
pistol weapon
cheesecake food
于 2012-10-10T19:09:33.967 回答