如何用Python for loop获取二维列表每行的前指定个数元素
实现方案
你要限制只打印每行下标0到5的元素,只需要修改内层循环的遍历范围即可,有两种常用实现方式:
方式1:修改内层循环的遍历上限
直接把内层循环的range长度改成6(Python区间为左闭右开规则,0到5的下标对应长度为6):
allUserDetails = [["John", "Doe", "User", "Sales", "johndoe91", "Hidden", "Viewable"], ["James", "Hill", "Admin", "Administrator", "hill95", "Hidden", "Viewable"]] showRecords = 0 # 打印下标0到5元素的版本 for row in range(len(allUserDetails)): showRecords += 1 print("-" * 25) print("Record: ", showRecords) # range(6)对应遍历下标0-5 for col in range(6): print(allUserDetails[row][col]) showRecords = 0 print("-" * 25) print()
方式2:行切片遍历(更符合Python书写习惯)
不需要按索引遍历,直接对每行做[0:6]切片后遍历,代码更简洁,也方便后续切换完整展示逻辑:
allUserDetails = [["John", "Doe", "User", "Sales", "johndoe91", "Hidden", "Viewable"], ["James", "Hill", "Admin", "Administrator", "hill95", "Hidden", "Viewable"]] showRecords = 0 # 直接遍历行,不需要用range(len())嵌套 for row in allUserDetails: showRecords += 1 print("-" * 25) print("Record: ", showRecords) # 取行的前6个元素(下标0到5)遍历 for col_val in row[0:6]: print(col_val) showRecords = 0 print("-" * 25) print()
补充说明
如果后续需要展示完整行,只需要把切片改成row[:]或者直接遍历row即可,完美适配你后续要做的「询问用户是否查看完整未隐藏内容」的需求。
内容的提问来源于stack exchange,提问作者JDF91
相关产品推荐
相关产品推荐

