Python 3.x I’;我试图在列表列表中每秒钟翻转一个子列表。有人有什么建议吗?
Python 3.x I’;我试图在列表列表中每秒钟翻转一个子列表。有人有什么建议吗?,python-3.x,Python 3.x,My_list=[[1,2,3],[4,5,6],[7,8,9]---->[[1,2,3],[6,5,4],[7,8,9] 我尝试过使用它,但没有成功: for i my_list: if my_list.index(i) != 0: i = i[::-1] 由于Pythonfor循环创建局部变量,因此必须索引到外部列表索引中,并使用%2==1来检测具有奇数索引的子列表 my_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 1
My_list=[[1,2,3],[4,5,6],[7,8,9]
---->[[1,2,3],[6,5,4],[7,8,9]
我尝试过使用它,但没有成功:
for i my_list:
if my_list.index(i) != 0:
i = i[::-1]
由于Python
for
循环创建局部变量,因此必须索引到外部列表索引中,并使用%2==1
来检测具有奇数索引的子列表
my_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]
for index, sublist in enumerate(my_list):
if index % 2 == 1:
my_list[index] = sublist[::-1]
print(my_list)
输出
[[1, 2, 3], [6, 5, 4], [7, 8, 9], [12, 11, 10]]
另一个选项(除了@DeepSpace answer)是使用Python的切片表示法()并分配给切片():
在本例中,我们从索引1和步骤2开始创建切片,并为其分配反向子列表:
my_list = [[1,2,3],[4,5,6],[7,8,9]]
my_list[1::2] = (v[::-1] for v in my_list[1::2])
print(my_list)
印刷品:
[[1, 2, 3], [6, 5, 4], [7, 8, 9]]