Python 列表中的列表
我对Python还很陌生。我有一个包含更多列表的列表,但仅限于二维(例如列表[a][b])。现在,对于每一个值[a],我想访问某个值[b](本例中为10)。就目前而言,只需打印每个价值清单[a][10]就足够了。我试过: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不是整数吗?我怎样才能
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]