[英]Re-Arrange rows in two-dimensional arrays without numpy
二維數組中的行根據每行中“*”的數量重新排列。
例子:
我的陣列:
[['*', '-', '*', '*', '*', '*'],
['*', '-', '-', '*', '-', '-'],
['-', '*', '*', '-', '-', '-'],
['*', '-', '*', '*', '-', '-'],
['-', '-', '*', '*', '*', '*']]
Expected output:
[['*', '-', '*', '*', '*', '*'],
['-', '-', '*', '*', '*', '*'],
['*', '-', '*', '*', '-', '-'],
['*', '-', '-', '*', '-', '-'],
['-', '*', '*', '-', '-', '-']]
*
數最多的行將排在最前面,而-
數最少的行將排在最后。 如果行具有相同數量的*
,則保持相對順序。
使用適當的鍵功能進行排序將執行以下操作:
array = [['*', '-', '*', '*', '*', '*'],
['*', '-', '-', '*', '-', '-'],
['-', '*', '*', '-', '-', '-'],
['*', '-', '*', '*', '-', '-'],
['-', '-', '*', '*', '*', '*']]
array.sort(key=lambda a: a.count('*'), reverse=True)
array
#[['*', '-', '*', '*', '*', '*'],
# ['-', '-', '*', '*', '*', '*'],
# ['*', '-', '*', '*', '-', '-'],
# ['*', '-', '-', '*', '-', '-'],
# ['-', '*', '*', '-', '-', '-']]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.