python分割數組
『壹』 python 數組分割
arr=[1,2,3,6,1,6,8,1,9,7,5,1]
coor,res=[],[]
i=j=count=0
foridx,numinenumerate(arr):
ifnum==1:
ifi==j:
i=idx
else:
ifi<j:
i=idx
else:
j=idx
coor.append((i,j)ifi<jelse(j,i))
forcrinsorted(set(coor)-{(0,0)}):
res.append(arr[cr[0]:cr[1]+1])
print(res)
如果你用的Python2就把最後的print的括弧去掉就行,Python3的話就不用
用另外一種方法弄了一下,可能更直觀些,附上如下
arr=[1,2,3,6,1,6,8,1,9,7,5,1]
coor,res=[],[]
i=j=0
idx=1
whileidx<len(arr):
whilearr[idx]!=1:
idx+=1
ifi==j:
i=idx
else:
ifi<j:
i=idx
else:
j=idx
idx+=1
coor.append((i,j)ifi<jelse(j,i))
forcrincoor:
res.append(arr[cr[0]:cr[1]+1])
print(res)
你隨便選一種就好,不過推薦後面的這種
『貳』 Python用什麼方法可以將換行符分割成多行
import pandas as pd
import xlsxwriter
if __name__ == "__main__":
file_name = r'C:UsersAdministratorDesktop est.xlsx'
""" 讀取,切割成數組 """
context = pd.read_excel(file_name)
num = context['序號'][0]
value = context['名稱'][0]
new_num = num.split(' ')
new_value = value.split(' ')
""" 寫入數據 """
workbook = xlsxwriter.Workbook(file_name)
# 創建工作表
worksheet = workbook.add_worksheet('sheet1')
# 寫單元格
worksheet.write(0, 0, '序號')
worksheet.write(0, 1, '名稱')
# 寫列,其中列需要大寫
worksheet.write_column('A2', new_num)
worksheet.write_column('B2', new_value)
# 關閉工作簿
workbook.close()
###順便給一下你學習的鏈接吧,這個其實就是個簡單的讀寫文件的應用而已,網頁鏈接
『叄』 python數組分割
functionname= lambda anylist, n: [anylist[i * 3:(i + 1) * 3] for i in range(len(anylist)//n+1 if len(anylist)%n else len(anylist)//n)]
print(functionname(a, 3))
可以按任意長度切分
『肆』 python 如何以逗號為分隔符輸出數組
方法一:
def count_pos(l): num = 0 for x in l: # 直接遍歷數組就可以了,加了range反而錯了。 if x > 0: num += 1 print(num) s = input('input some number: ')l = eval(s) # 因為不會修改數列的內容,所以用tuple就可以,沒必要轉成listcount_pos(l)
方法二:
s = input('input some number: ')l = eval(s)print(count([x for x in l if x > 0])) # 一句話搞定,沒必要寫函數
『伍』 python中array的c.shape=-1
-1的意思是沒有指定,而是根據另一個維度指定的數量進行分割。比如一個10*10的array,[2, -1]就是說兩行,列數是10*10/2
『陸』 python 能否將字典裡面 value 是數組的值 切分每個鍵一個數組裡面一個值的形式
a=[{"fild":{"SSMC":["a","b","c","d"]}}]
printa
b=[{"fild":{k:i}}fork,vina[0]["fild"].items()foriinv]
printb