1. 程式人生 > 實用技巧 >Linux通過netstat命令統計連線數

Linux通過netstat命令統計連線數

技術標籤:pandaspythonpandas

1 Python基礎
1 列表表示式和條件賦值:
列表表示式的語法:[A i for i in B] 其中A為對映函式,i不斷的帶入到A,B是迭代的物件。
一個簡單例子:

[2 * i for i in range(5)] # 輸出:[0, 2, 4, 6, 8]

還可以寫成巢狀的形式:

[m+'+'+n for m in ['a', 'b'] for n in ['c', 'd']] # 第一個是外層迴圈,第二個是內層迴圈
#輸出是:['a+c', 'a+d', 'b+c', 'b+d']

條件賦值語法:value = a if condition else b。if判斷語句為真則value的值為a,否則為b。

一個簡單的例子:

value = 'cat' if 2>1 else 'dog'
value
# 輸出: 'cat'

兩者等價

if 2 > 1:
    value = 'cat'
else:
    value = 'dog'
value

將兩個語法(列表表示式和條件賦值)結合的例子:

L = [1, 2, 3, 4, 5, 6, 7]
[i if i <= 5 else 5 for i in L]
#輸出:[1, 2, 3, 4, 5, 5, 5]

等價程式碼:

L = [1, 2, 3, 4, 5, 6, 7]
res = []
for i in L:
    if
i <= 5: res.append(i) else: res.append(5) res 輸出: [1, 2, 3, 4, 5, 5, 5]

2 匿名函式與map方法
匿名函式沒有顯示地定義函式名,使用【lambda + 引數 +表示式】的方式。使用Python寫一些指令碼時,使用lambda可以省去定義函式的過程,讓程式碼更加精簡。 對於一些抽象的,不會被別的地方再重複使用的函式,有時候函式起個名字也是個難題,使用lambda不需要考慮命名的問題 使用lambda在某些時候然後程式碼更容易理解。
map()是 Python 內建的高階函式,它接收一個函式 f 和一個list,並通過把函式 f 依次作用在 list 的每個元素上,得到一個新的 list 並返回。

兩個點結合的例子:

list(map(lambda x, y: str(x)+'+'+y, range(5), list('abcde')))
# 輸出: ['0+a', '1+b', '2+c', '3+d', '4+e']

3 zip物件與enumerate
zip函式能夠把多個可迭代物件打包成一個元組構成的可迭代物件,它返回了一個zip物件

L1, L2, L3 = list('abc'), list('def'), list('hij')
zipped = list(zip(L1, L2, L3))
zipped
# 輸出: [('a', 'd', 'h'), ('b', 'e', 'i'), ('c', 'f', 'j')]

解壓縮的方法:

list(zip(*zipped))
輸出:[('a', 'b', 'c'), ('d', 'e', 'f'), ('h', 'i', 'j')] 

enumerate返回索引和對應的元素值

L = list('abcd')
for index, value in enumerate(L):
     print(index, value)
# 輸出: 
#0 a
#1 b
#2 c
#3 d

2 Numpy基礎
廣播機制
1 標量與陣列之間

res = 3 * np.ones((2,2)) + 1
res
輸出:
array([[4., 4.],
       [4., 4.]]) 

2 二維陣列之間
當兩個陣列維度完全一致時,使用對應元素的操作,否則會報錯,除非其中的某個陣列的維度是