我用这个从谷歌表格中提取数据:
for x in range(0, 3):
gmap.marker(latitude[x], longitude[x], title=boxnumber[x])
每列中只有三个值要拉取。因此,上面的代码运行良好。但是,如果我有四个这样的:
for x in range(0, 4):
我得到的列表索引超出范围...问题是,我不知道我的第二个数字/列表索引会是什么。这个数字明天可能是25,也可能是60。处理这个问题的最佳方法是什么?例如,如果我的列表中有 50,如何让 for 循环自动调用 50? 有没有办法调用 (0, #ofavailable(?
使用len()
获取列表的长度(我假设它们的长度都相同(。
for x in range(len(latitude)):
gmap.marker(latitude[x], longitude[x], title=boxnumber[x])
或者将所有列表压缩在一起:
for lat, lon, title in zip(latitude, longitude, boxnumber):
gmap.marker(lat, lon, title=title)
您还应考虑将所有内容放入字典或元组的单个列表中,而不是为每个值单独列出。
您可以使用enumerate()
:
for x,y in enumerate(latitude):
gmap.marker(latitude[x], longitude[x], title=boxnumber[x])
你可以做len(list(,它会给出你的列表的长度。你也可以,而不是for x in range(0, len(list)):
,只是做for x in list:
,这会给你每个索引处的项目,而不仅仅是索引,如果这对你的项目来说更简单的话。