Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 列表中的列表_Python_List_Shapefile_Python 2.4 - Fatal编程技术网

Python 列表中的列表

Python 列表中的列表,python,list,shapefile,python-2.4,Python,List,Shapefile,Python 2.4,我对Python还很陌生。我有一个包含更多列表的列表,但仅限于二维(例如列表[a][b])。现在,对于每一个值[a],我想访问某个值[b](本例中为10)。就目前而言,只需打印每个价值清单[a][10]就足够了。我试过: for rec in List: print List[rec][10] 这给了我一个错误“TypeError:list索引必须是整数,而不是list”。但是,如果我只是尝试“打印列表[0][10]”,它会给我想要的值。在我的for循环中,rec不是整数吗?我怎样才能

我对Python还很陌生。我有一个包含更多列表的列表,但仅限于二维(例如列表[a][b])。现在,对于每一个值[a],我想访问某个值[b](本例中为10)。就目前而言,只需打印每个价值清单[a][10]就足够了。我试过:

for rec in List:
    print List[rec][10]
这给了我一个错误“TypeError:list索引必须是整数,而不是list”。但是,如果我只是尝试“打印列表[0][10]”,它会给我想要的值。在我的for循环中,rec不是整数吗?我怎样才能解决这个问题

其他信息:我正在使用Python 2.4.3来使用shapefile库,该库允许我访问GIS数据(我的列表)。

您需要使用:

for rec in List:
    print rec[10]


应该有效。

在您的情况下,rec不是一个整数,它是列表的第一项。要将其用作整数,必须在For循环中添加range,如“For rec in range(0,len(List))”

如果在
列表上
For
,则得到的是元素(因此是子列表),而不是它们的索引……不要调用列表
列表
list
是Python中的一个保留字。由于您是Python新手,您确实应该学习Python 3,除非出于某种原因被迫使用Python 2。Python2有各种恼人的怪癖,这些怪癖在Python3中已经修复,Python2将在2020年结束。如果您确实需要学习Python 2,通常认为最好先学习Python 3,然后再学习Python 2的差异,而不是反过来学习。错误本身是描述性的……您应该尝试打印“rec”,这样您就知道它不是整数。最好自己调试错误。无论如何,使用->for rec in List:print rec[10]My 2 cents:下次遇到类似错误/问题时,请尝试打印元素或其类型,如
print rec
print type(rec)
,以获得更好的可见性。谢谢,这非常简单。非常感谢<代码>适用于范围内的i
适用于范围内的i(len(列表)):
或者更好,将此范围替换为xrange
for i range(len(List)):
    print List[i][10]
for rec in List:
    print rec[10]