繁体   English   中英

遍历数组并切片或在 Python 中进行更改

[英]Iterating over array and slicing or making changes in Python

我正要把我的头发拉出来。 我不确定为什么我的数组中的索引没有在第二列中实现。

我创建了这个数组 - project_information:

    project_information.append([proj_id,project_text])

当我打印出来时,我得到了行和列。 它包含大约 40 行。

当我遍历它以打印出内容时,一切都很好。 我正在使用这个:

    for i in range(0,len(project_information)):
        project_id = project_information[i][0]

        project_text = project_information[i][1]
        print(project_id)
        print (project_text)
   

project_text 列包含文本,而 project_id 包含整数。 它完美地打印出来,并且 project_id 和 project_text 的索引都发生了变化。

但是,我需要以不同的方式使用 project_text,我真的很挣扎。 我需要将文本切成较短的文本以便重复使用。 为此,我尝试了:

   for i in range(0,len(project_information)):
        project_id = project_information[i][0]

        project_text = project_information[i][1]
        print(project_id)
        print (project_text)
   
       if len(project_text) > 5000:
          trunc_proj_text = project_text[:1000]
       else:
          trunc_proj_text = project_text

      print (project_id)       
      print(trunc_proj_text)

我在这里遇到的问题是,虽然 project_id 列被正确迭代,但 project_text 却没有。 我得到的只是 project_text 第一行中的文本,切片并重复与数组长度一样多的次数。

我尝试了不同的方法,也尝试了一个 while 循环,但它仍然无法正常工作。

我还查看了这些答案以供参考 - 切片、索引和迭代 2D Numpy arrays高效迭代切片 in Python迭代列表切片,我似乎看不出如何将它们应用于我的问题。

我不太精通 Numpy 的使用,所以这对它有帮助吗? 我很清楚这可能很简单,但我错过了它,因为过去几周我一直在处理这个项目的各个方面,所以我希望能对此有所考虑。

提前致谢。

问题出在此处的输入列表上,因此使用此代码进行切片确实有效。 创建输入数组的代码现已修复。 创建输入列表的原始代码是连接每个条目的字符串,因此每个条目的 project_texts 看起来与结尾不同,但都有相同的开头。 但在控制台上查看时,很难看到。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM