[英]How to manipulate string items in a 3d list in python? (without numpy)
我有一个 3d 列表长 6 项,宽 6 项,这是一个字符串列表的列表。
lst = [ [['A'],['A'],['B'],['B'],['A'],['A']],
[['B'],['B'],['A'],['A'],['B'],['B']],
[['A'],['A'],['B'],['B'],['A'],['A']],
[['B'],['B'],['A'],['A'],['B'],['B']],
[['A'],['A'],['B'],['B'],['A'],['A']],
[['B'],['B'],['A'],['A'],['B'],['B']],
]
我想将字符串移动到列表中的其他位置,但我知道我没有使用正确的代码:
lst.insert([1][0][0], 'A')
给我一个TypeError: 'int' object is not subscriptable
我知道如何通过这样做来添加项目:
lst2 = lst[0][0]
lst2.append('A')
(将另一个“A”字符串添加到第一项)
我想在最低列表上执行各种操作,例如:
我对编程很陌生,我刚刚开始了解如何使用 2d 列表。
我如何在没有任何额外模块或库的情况下完成此操作?
首先,让我澄清这一行:
lst.insert([1][0][0], 'A')
insert 方法需要一个int
参数作为索引。 如果要在多维列表中插入元素,则应按以下方式完成:
lst[1][0].insert(0, 'A')
毕竟,它是一个列表(列表)列表。 仅当您查看内部索引(由 2 个坐标定义)时,您才会得到一个简单的列表(在这种情况下为字符串)。 然后,您可以通过调用insert()
方法将字符串元素插入此简单列表。
检查该列表中有多少字符串项
count = 0
for d2 in lst: #d2 is a 2d list (an element of a 3d list)
for d1 in d2: # d1 - 1 dimensional
count += len(d1)
在这里,我使用嵌套循环遍历了每个最底层(简单)列表,计算每个列表中有多少元素并将它们相加。
将“A”或“B”字符串移动到不同的位置,以便它们具有多个字符串。
假设我想将元素从[3][2][0]
移动到[1][2][1]
。 我会将它插入新的 position 中,然后从旧的中删除。
element = lst[3][2][0] # the task can be accomplished without using another variable, but this is for better understanding
lst[1][2].insert(1, element) # inserting
lst[3][2].pop(0) # deleting
该元素甚至可以像[1][2]
一样移动到 position 中。 所以会有一个字符串和其他“子列表”
检查列表中的第一个字符串是什么
你的意思是lst[0][0][0]
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.