【问题标题】:Python for loop to fetch only the first x number of elementsPython for循环仅获取前x个元素
【发布时间】:2021-12-05 11:54:23
【问题描述】:

我是编程新手,所以请耐心等待 :),我正在尝试创建一个 for 循环以仅显示 2d 列表的前几个元素。将有 2 个列表 1 显示隐藏密码之前的第一个元素,其中将询问用户是否希望查看具有未隐藏密码的完整行。我似乎无法让它们 for 循环只打印每行的前 0-5 个元素。下面链接的代码非常适合第二个循环,但我需要帮助来创建一个从 [0:5] 打印的 for 循环 例如。

allUserDetails = [["John", "Doe", "User", "Sales", "johndoe91", "Hidden", "Viewable"],
                  ["James", "Hill", "Admin", "Administrator", "hill95", "Hidden", "Viewable"]]

showRecords = 0

            for row in range(len(allUserDetails)): # loop prints the full list
                showRecords += 1
                print("-" * 25)
                print("Record: ", showRecords)
                for col in range(len(allUserDetails[row])):
                    print(allUserDetails[row][0:][col][0:])
            showRecords = 0
            print("-" * 25)
            print()

任何帮助将不胜感激:)

【问题讨论】:

  • 您可以将allUserDetails 分割成您想要的第一个n 或在循环中使用break 在某些情况下停止

标签: python loops for-loop range


【解决方案1】:

据我了解,您只想打印每行的前五个元素?

在这种情况下,您可以遍历列表以获取行,然后对行进行切片。其实现可能如下所示:

for row in allUserDetails:
for element in row[0:5]: # the rows have been sliced to only show element 0 - 5
    print(element)
print("-" * 25)

【讨论】:

    【解决方案2】:

    我建议在行循环中使用另一个 for 循环,这将有助于从行中挑选出 n 个元素

    for row in allUserDetails: #Loops through all arrays in the 2D array
        for i in range(5): #Loops through the first five elements of the row
            print(row[i])
    

    for row in allUserDetails 会将变量 row 设置为二维数组中定义的字符串数组。

    for i in range(n) 将遍历该行 n 次,然后您可以使用 print(row[i])

    打印出其中找到的每个字符串

    【讨论】:

      猜你喜欢
      • 2021-08-31
      • 1970-01-01
      • 2011-04-29
      • 2020-01-05
      • 1970-01-01
      • 1970-01-01
      • 2019-10-01
      • 2013-06-03
      • 1970-01-01
      相关资源
      最近更新 更多