【python】进阶知识技巧汇总(保存列表、简写操作)

一、保存列表

1、保存为.txt文件

注:保存.txt需要将列表内容转为字符串格式,所以一般都是一列存一个元素

##保存
ipTable=['123.111.111.1','111.111.111.1']
fileObject = open('sampleList.txt', 'w')  
for ip in ipTable:  
    fileObject.write(str(ip))  
    fileObject.write('\n') 
fileObject.close()  
##读取
f = open("sampleList.txt","r")   #设置文件对象
table = f.read()     #将txt文件的所有内容读入到字符串str中
f.close()   #将文件关闭

2、保存为.npy格式

import numpy as np
graphTable = [
           [[0,3],[1,3],1,'1'],  #A-B
           [[1,3],[2,3],1,'2'],  #B-C
           [[2,3],[2,1],2,'3'],  #C-H
           [[1,3],[1,2],1,'4'],  #B-D
           [[1,2],[1,1],1,'5'],  #D-F
           [[1,2],[0,0],3,'6'],  #D-S
           [[1,1],[2,1],1,'7'],  #F-H
           [[1,1],[3,1],4,'8'],  #F-I
           [[2,1],[3,1],1,'9'],  #H-I
           [[3,3],[3,1],2,'10']  #G-I        
           ] 
m=np.array(graphTable)
np.save('demo.npy',m)
  • 读取:先从.npy文件中读出np.array,再转为list格式
a=np.load('demo.npy')
graphTable=a.tolist()
  • 保存为.npy会保留列表原有的内容格式,使用更为方便,
    但保存为.txt格式同样的数据占用空间会更小。

二、Python 简写操作(for、if简写、匿名函数)

1、两层for循环

  • 格式
[对i的操作 for 单个元素 in 列表 for i in 单个元素]
  • 例子
y_list = ['assss','dvv']
[print(i) for y in y_list for i in y]
得到结果:a s s s s d v v

2、两层列表for 循环遍历简写

  • 例子
k = [[1, 2, 3, 4, 5], [5, 4, 3, 2, 1], [9, 8, 7, 6]]
j = [[j * 10 for j in i] for i in k]
print(j)
l = [[j*10 for i in k for j in i]]
print(l)
  • 结果
[[10, 20, 30, 40, 50], [50, 40, 30, 20, 10], [90, 80, 70, 60]]
[[10, 20, 30, 40, 50, 50, 40, 30, 20, 10, 90, 80, 70, 60]]

2、if 简写

  • 格式
True的逻辑 if 条件 else False的逻辑
  • 例子
y = 0
x = y+3 if y > 3 else y-1
此时 x = -1

因为 y = 0 ,所以判断 y>3 时执行了 False的逻辑:y-1,所以x的值为 -1

3、for 与 if 的结合简写

  • 模板
[判断为True的i的操作 for i in 列表 if i的判断 ]
  • 例子
x = [1,2,3,4,5,6,7]
[print(i) for i in x if i > 3 ]
它会输出:4 5 6 7

注:使用简写的方式无法对 if 判断为 False 的对象执行操作。

4、匿名函数lambda

  • 格式
lambda 参数: 表达式
  • 参数
x = 3
(lambda k: k+3)(x)
输出 6
这是一个比较简单的匿名函数表达式
  • 一般匿名函数会结合很多其他函数,作为传递参数的作用。比如:
    比如:map()配合匿名函数
    map(函数名,列表) 这相当于对列表中的每个元素执行这个函数的操作,比如:
list(map(lambda x: x * 2, [1, 2, 3, 4, 5]))
输出: [2, 4, 6, 8, 10]

三、pandas的操作

1、创建dataframe

  • 创建一个新的dataframe
df=pd.DataFrame(columns={"a":"","b":"","c":""},index=[0])
  • out
    a    c    b
0  NaN  NaN  NaN
  • 用list的数据创建dataframe:
a = [['2', '1.2', '4.2'], ['0', '10', '0.3'], ['1', '5', '0']]
df = pd.DataFrame(a, columns=['one', 'two', 'three'])
print df
  • out
  one  two three
0   2  1.2   4.2
1   0   10   0.3
2   1    5     0

参考

保存列表
Python 简写操作(for、if简写、匿名函数)
python:pandas中dataframe的基本用法汇总

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值