python学习资料第三期

日常过程中总会遇到各种各种的问题,需要临时谷歌学习

收藏的学习链接记录第三期,主要是python的日常小技巧

①列表按列访问

exa=[[1,2,3],
     [4,5,6],
     [7,8,9]]
for item in exa:
    print(item)
exa2=list(zip(*exa))
for item in exa2:
    print(item)

就是里面的值变成元祖了···

如果需要改变可自行修改

 ②计算程序运行时间

import time
time_start=time.time()
#program
time_end=time.time()
print('totally cost',time_end-time_start)

 单位:s

③忽略warning

import warnings
warnings.filterwarnings("ignore")

Python 忽略warning警告错误 + 跳过报错继续执行程序 - 星涅爱别离 - 博客园
https://www.cnblogs.com/xingnie/p/12244978.html

④按照相同顺序打乱两个列表

import random
a=[1,2,3,4]
b=[5,6,7,8]
c = list(zip(a, b))
random.shuffle(c)
a[:], b[:] = zip(*c)
print(a)
print(b)

⑤对列表排序并保持索引

方法1:

import numpy as np

arr = [1, 3, 5, 2, 4, 6]
arr =  np.array(arr)
print (np.argsort(arr)) # 正序输出
print (np.argsort(-arr)) # 逆序输出

 方法2:

nums = [4, 1, 5, 2, 9, 6, 8, 7]
sorted_nums = sorted(enumerate(nums), key=lambda x: x[1])
idx = [i[0] for i in sorted_nums]
nums = [i[1] for i in sorted_nums]
print(idx)
print(nums)

⑥正确深拷贝列表

浅拷贝和深拷贝的关系不赘述

正确复制

a=list(b)

a=b[:]

在函数调用、回溯算法时尤其明显

⑦对多维列表排序

l =[[126,4],[110,3],[215,4],[106,4],[333,3],[98,3]]
l.sort(key=lambda x:(-x[1],-x[0])) #关键在这一行
print(l)

⑧matplotlib的颜色、线、坐标轴、labl设置

python中matplotlib的颜色及线条控制 - darkknightzh - 博客园
https://www.cnblogs.com/darkknightzh/p/6117528.html

写的很好

⑨scapy抓包分析

为了在linux上实现抓包分析,也是很烦呢

(转)python+scapy 抓包与解析 - 景木 - 博客园
https://www.cnblogs.com/jingmu/articles/7424787.html

python数据包之利器scapy用法! - 白桦林_HK - 博客园
https://www.cnblogs.com/baihualin/p/10730513.html

scapy自定义packet field解析 - 简书☆☆☆
https://www.jianshu.com/p/88e4df708970

可以自定义并解析数据包,很有展示型效果 

⑩linux运行py文件

用./demo.py运行似乎比python demo.py更有份

当用./遇上 bash:./demo.py:Permission denied

需要$ chmod 77 demo.py

有的文件读写还要用到VIM

Vim 保存和退出命令 - 小氕 - 博客园
https://www.cnblogs.com/firstcsharp/p/10241132.html

END

猜你喜欢

转载自www.cnblogs.com/ljy1227476113/p/12890216.html