在python列表中,如果我們想要刪除一個或者連續幾個元素,可以使用del()方法,在numpy數組,如果想要刪除元素,可以使用numpy.delete()方法,但是numpy數組不支持刪除數組元素,numpy.delete() 返回刪除了某些元素的新數組。
1、np.delete()方法
numpy.delete()適用于numpy ndarray數組。
但是numpy數組不支持刪除數組元素,numpy.delete() 返回刪除了某些元素的新數組。
2、使用語法
numpy.delete(arr,obj,axis=None)
3、使用參數
arr:輸入向量
obj:表明哪一個子向量應該被移除。可以為整數或一個int型的向量
axis:表明刪除哪個軸的子向量,若默認,則返回一個被拉平的向量
4、返回值
返回一個新的數組,該數組具有沿刪除的軸的子數組。
對于一維數組,這將返回arr[obj]未返回的那些條目。
import math 或者from math import * 不過后面的方式可能會出現函數名相同的情況,所以我覺得最好用前面的那種
1.函數說明
raw_input()的小括號中放入的是,提示信息,用來在獲取數據之前給用戶的一個簡單提示
raw_input()在從鍵盤獲取了數據以后,會存放到等號右邊的變量中
raw_input()會把用戶輸入的任何值都作為字符串來對待
2.語法
3.參數說明
prompt: 可選,字符串,可作為一個提示語。
4.實例
raw_input 如其字面意思一樣,返回輸入字符的字符串形式,不做任何變換運算
注:python3版本中、沒有raw_input()函數,只有input()
并且 python3中的input與python2中的raw_input()功能一樣
在Python中定義函數。
1. 比如用Python寫一個斐波那契數列函數:
>>> def fib(n): # write Fibonacci series up to n
... """Print a Fibonacci series up to n."""
... a, b = 0, 1
... while a < n:
... print(a, end=' ')
... a, b = b, a+b
... print()
...
函數調用:
>>> # Now call the function we just defined:
... fib(2000)
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597
在Python函數中,def關鍵字聲明一個函數定義,函數名稱緊跟其后,函數名稱后面是包含參數列表的小括號,最后是冒號結尾。
然后Python函數的函數體從下一行開始,必須注意要有字符縮進。
Python的函數調用,比如:
>>> fib(0)
>>> print(fib(0))
None
2. fib(n)是沒有返回值的函數,下面寫一個有返回值的Python函數,返回[]list列表:
>>> def fib2(n): # return Fibonacci series up to n
... """Return a list containing the Fibonacci series up to n."""
... result = []
... a, b = 0, 1
... while a < n:
... result.append(a) # see below
... a, b = b, a+b
... return result
...
函數調用:
>>> f100 = fib2(100) # call it
>>> f100 # write the result
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]
函數fib2(n)實例中展示了新的Python feature,其中return用于聲明當前函數返回一個值,result.append(a)調用了list對象result的append函數,append是由對象的類型決定的函數,實際上相當于result = result + [a],但是append的效率更高。
3. 在Python函數定義中定義多個參數列表,以及為參數賦上默認值:
def ask_ok(prompt, retries=4, reminder='Please try again!'):
while True:
ok = input(prompt)
if ok in ('y', 'ye', 'yes'):
return True
if ok in ('n', 'no', 'nop', 'nope'):
return False
retries = retries - 1
if retries < 0:
raise ValueError('invalid user response')
print(reminder)
這里又個非常重要的警告,需要在實際項目中多加注意!!默認值通常只計算一次,但是如果默認值是可變的,比如list,就會有如下情況:
def f(a, L=[]):
L.append(a)
return L
print(f(1))
print(f(2))
print(f(3))
輸出結果為:
[1]
[1, 2]
[1, 2, 3]
可以改為:
def f(a, L=None):
if L is None:
L = []
L.append(a)
return L
4. 函數里的關鍵字參數
形式是kwarg=value
def parrot(voltage, state='a stiff', action='voom', type='Norwegian Blue'):
print("-- This parrot wouldn't", action, end=' ')
print("if you put", voltage, "volts through it.")
print("-- Lovely plumage, the", type)
print("-- It's", state, "!")
def cheeseshop(kind, *arguments, **keywords):
print("-- Do you have any", kind, "?")
print("-- I'm sorry, we're all out of", kind)
for arg in arguments:
print(arg)
print("-" * 40)
for kw in keywords:
print(kw, ":", keywords[kw])
5. 特殊參數
def f(pos1, pos2, /, pos_or_kwd, *, kwd1, kwd2):
----------- ---------- ----------
Positional or keyword
- Keyword only
-- Positional only
6. 注意函數的代碼風格和命名規范
比如使用4個空格鍵為不是tab縮進等。