python輸入一維陣列
使用int()進行強制型別轉型
當輸入內容不為數字時,不能轉型,發生except跳出迴圈。
先宣告data是乙個list,將input_a乙個個拼接(+)進去。
data =
while true:
try:
input_a = int(input("input: "))
data +=[input_a]
except:
break
print(data)
print(type(data))
print(type(data[0]))
執行**,從鍵盤輸入
e:\anaconda3\python.exe d:/pycode/nowcooder/陣列的輸入.py
input: 1
input: 2
input: 3
input: ; # 輸入英文分號停止輸入
[1, 2, 3]
python輸入二維陣列
正規表示式(r』[\d]』)會利用非數字的字元進行切割,因此數字之間插入什麼都無所謂。
import re
data2d =
while true:
userinput = input('input:') # 輸入陣列,用空格隔開即可
info = re.split(r'[\d]', userinput) # 正規表示式分割
data = # 定義一維陣列
try:
for number in info:
data += [int(number)] # 一維陣列加入數字
data2d += [data] # 一維陣列加入到二維中去
except:
break
print(data2d)
測試二維陣列的輸入
輸入最後一行字元後,連續按兩次enter鍵結束輸入
e:\anaconda3\python.exe d:/pycode/nowcooder/陣列的輸入.py
input:1 2 3
input:2,3,4
input:1[2[3[4
input:9-8-3-4
input:
[[1, 2, 3], [2, 3, 4], [1, 2, 3, 4], [9, 8, 3, 4]]
process finished with exit code 0
在input:後按 enter 停止輸入
e:\anaconda3\python.exe d:/pycode/nowcooder/陣列的輸入.py
input:1 2 3
input:
[[1, 2, 3]]
使用re.split來分割字串
re.split(r』[\d]』, s) 表示將字串 s 按「非數字」分割成乙個列表,保留數字,去除非數字字元。
import re
s = input() # abcd12345ed125ss123456789
ss = re.split(r'\d', s)
sss = re.split(r'[\d]', s)
# print(max(ss, key=len)) # 123456789
print(ss) # ['', '', '', '', '12345', '', '125', '', '123456789']
print(sss) # ['', '', '', '', '12345', '', '125', '', '123456789']
data =
for num in ss:
if num != '':
data += [int(num)] # [ ] 不能省略
print(data) # [12345, 125, 123456789]
正規表示式
C 中一維陣列和二維陣列中的指標總結
首先區別清楚指標陣列和陣列指標的區別 以名字後面的兩個字定性 1.指標陣列是乙個陣列,存貯著指標型別的變數,例如 int a 10 因為的優先順序大於 故首先是乙個含有10個元素的陣列,陣列中的元素是指向int型別的指標 2.陣列指標是乙個指標,指向的物件是乙個陣列,例如 int a 10 因為 的...
一維陣列和二維陣列
一維陣列和二維陣列 一維陣列 在程式中可以使用下標變數,即說明這些變數的整體為陣列,陣列的每個變數的資料型別是相同的。當陣列中每個元素都只帶有乙個下標時,稱這樣的陣列為一維陣列。例 int arr 4 這時,我們分析一下 arr arr 1 arr 2 的資料型別 可以看出arr指的是陣列首元素ar...
python 建立二維陣列和一維陣列
一維陣列 二維陣列 寫 的時候需要使用python建立二維陣列 num list 0 5 2 print num list 輸出 0,0,0,0,0 0,0,0,0,0 看輸出覺得這種方法是對的,結果程式出現了錯誤,經過分析,這種建立二維陣列的方式存在問題 num list 0 0 1 print ...