已知a = [[4, 0, 1], [9, 2, 7], [8, 12, 90]]列表推導式
[i for j in a for i in j]
itertoolsfrom itertools import chain
list
(chain.from_iterable(a)
)
sum小技巧sum
(a,[
])
operatorimport operator
from functools import
reduce
print
(reduce
(operator.add, a)
)
def
fun(arr, lines)
: total_matrix =[[
0]* lines for i in
range
(lines)
]""" 二維矩陣轉為一維矩陣 """
num =
[i for j in arr for i in j]
num =
sorted
(num)
show_num =
0 col = lines -
1 row = lines -
1 start_line =
0def
print_ju
(start_line, col, row, show_num)
:if row ==0:
if lines %2!=
0:total_matrix[lines //2]
[lines //2]
= lines * lines
else
:for i in
range
(start_line, col)
:# 列印上橫行
total_matrix[start_line]
[i]= num[show_num]
show_num +=
1for i in
range
(start_line, row,1)
:# 列印右豎行
total_matrix[i]
[col]
= num[show_num]
show_num +=
1for i in
range
(row, row - col + start_line,-1
):# 列印下橫行
total_matrix[row]
[i]= num[show_num]
show_num +=
1for i in
range
(col, col - row + start_line,-1
):# 列印左邊豎行
total_matrix[i]
[row - col + start_line]
= num[show_num]
show_num +=
1return print_ju(start_line +
1, row -
1, col -
1, show_num)
print_ju(start_line, row, col, show_num)
for i in total_matrix:
for x in i:
print
(format
(x,'3'
), end=
' ')
print()
if __name__ ==
'__main__'
: n =
int(
input
('請輸入螺旋矩陣的行數:'))
arr =[[
4,0,
1],[
9,2,
7],[
8,12,
90]] fun(arr, n)
一維陣列轉為二維陣列
真是應該補一補資料結構,真高這個程式!do while not eof 1 連續讀入乙個txt檔案到inputdata中 line input 1,inputdata if inputdata then 分割為一維陣列splitdata splitdata split inputdata,end i...
mysql二維轉一維 二維陣列轉為一維陣列
1.很多時候會遇到二維陣列,轉為一維陣列的時候會很苦惱,尤其是剛剛接觸php的phper。如下 將 arr轉化為一維陣列 arr array array uuid aaaaa array uuid bbbbb array uuid ccccc array uuid sssss array uuid ...
陣列(一維陣列 二維陣列)
陣列概述 c 陣列從零開始建立索引,即陣列索引從零開始。c 中陣列的工作方式與在大多數其他流行語言中的工作方式類似。但還有一些差異應引起注意。這些其實和泛型有些類似,陣列的操作沒有泛型方便,但是效能卻不是泛型所能比擬的 宣告陣列時,方括號 必須跟在型別後面,而不是識別符號後面。在c 中,將方括號放在...