我有一个字符串列表(我的实际列表要长得多):
Animals = ["Dog", "1", "F", "2",
"Cat", "M",
"Horse", "40", "D", "9",
"Human", "50", "E",
"Zebra", "50", "4", "P", "A", "19",
"Dog", "60", "1"]
如果有用的话,我还有动物名字的清单:
Animal_names = ["Dog", "Cat", "Horse", "Human", "Zebra"]
我要做的是将其转换为以下内容(以动物名称开始的列表和名称后面的后续值,并在下一个名称出现在动物名称中之前结束):
[["Dog", "1", "F", "2"],
["Cat", "M"],
["Horse", "40", "D", "9"],
["Human", "50", "E"],
["Zebra", "50", "4", "P", "A", "19"],
["Dog", "60", "1"]]
有什么方法可以很容易地做到吗?你知道吗
这应该是一个可行的解决方案:D.它包括循环遍历大列表中的元素,并在每次找到新的动物时开始一个新的列表。你知道吗
创建一个新数组并用值填充它,直到它达到存在于
Animal_names
中的值,然后追加、清除并重复。你知道吗短方法(假设输入列表以一个现存的动物名开始):
输出:
或者没有
else
分支的另一种方式-但这将导致更多的append
调用(因此应被视为较慢的之一):相关问题 更多 >
编程相关推荐