多行字符串转嵌套列表,怎么索引嵌套列表?

 # 不用np,索引列表
z ='''
同学第1排:a,b,c,d,e,f
同学第2排:1,2,3,4,5,6
同学第3排:你,我,他,她,它,她们
'''
# print索引127列
a1你
b2我
抱歉第7列没找到

不知道是不是这个意思:

string = """
同学第1排:a,b,c,d,e,f
同学第2排:1,2,3,4,5,6
同学第3排:你,我,他,她,它,她们
"""
list2 = []
for row in string.strip('\n').split('\n'):
    list2.append(row.split(':')[-1].split(','))
index = list(map(int, input('请输入索引:')))
for i in index:
    if i > len(list2[0]):
        print(f'抱歉第{i}列没找到')
        break
    for l in range(len(list2)):
        print(list2[l][i-1], end='')
    print()

  嵌套列表,即有多行数列的二维数组。其下标引用格式为:嵌套列表[行index][列index],如students[2]3

代码

#!/sur/bin/nve python
# coding: utf-8

 
 # 不用np,索引列表
z ='''
同学第1排:a,b,c,d,e,f
同学第2排:1,2,3,4,5,6
同学第3排:你,我,他,她,它,她们
'''
# print索引127列
'''
a1你
b2我
抱歉第7列没找到
'''

students = [i.split(':')[1].split(',') for i in z[1:-1].split('\n')] # 解析学生嵌套列表(二维数组)。
a = ' '.join([f"{i:^4}" for i in students[0]]) # 学生第一排字符串格式化。
b = ' '.join([f"{i:^4}" for i in students[1]]) # 学生第二排字符串格式化。
c = ' '.join([f"{i:^3}" for i in students[2]]) # 学生第三排字符串格式化。
print(f"\n\n{' 学生阵列 ':=^46}\n\n{a:^50}\n\n{b:^50}\n\n{c:^43}\n")

a, b = map(int, input(f"\n\n{' 如:2 4 (第二排第四列) ':~^42}\n\n{'输入学生索引:':>16}").strip().split())

if a > 3 or b > 6:
    print(f"\n{'~'*50}\n{'找不到学生':>20}({a}, {b})!\n{'~'*50}")
else:
    print(f"\n{'~'*50}\n{'查找的学生是:':>20}{students[a-1][b-1]}\n{'~'*50}")

代码运行效果截图

img


img


img

不太明白你的意思,不过你应该可以理解下面这一段:

list = [[0, 1, 2], 
          [1, 2, 32],
          [1, 2, 2]]
list[1][2]表示索引为1的列表中的索引为2的选项,也就是32