【问题标题】:What's the best way to specify an unknown index?指定未知索引的最佳方法是什么?
【发布时间】:2020-06-22 19:51:44
【问题描述】:

我正在从 Google 表格中提取数据:

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)?

【问题讨论】:

    标签: python python-3.x data-structures


    【解决方案1】:

    使用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)
    

    您还应该考虑将所有内容放入一个字典或元组列表中,而不是为每个值单独列出。

    【讨论】:

      【解决方案2】:

      你可以使用enumerate():

      for x,y in enumerate(latitude):
          gmap.marker(latitude[x], longitude[x], title=boxnumber[x])
      

      【讨论】:

        【解决方案3】:

        你可以做 len(list),它会给出你的列表的长度。你也可以,而不是 for x in range(0, len(list)):,只做 for x in list:,它会在每个索引处为你提供项目,而不仅仅是索引,如果这对你的项目来说更简单的话。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-08-21
          • 2019-04-27
          • 1970-01-01
          • 2012-07-14
          相关资源
          最近更新 更多