Python踩坑记录

发现上一篇Python记录写到后面像是我的学习笔记了,还是单开一个记录一下踩坑吧。

1.字典
python3中,使用dict.keys()返回的是 这个类型了,可以用list()转换成列表的形式

  1. ValueError: invalid literal for int() with base 10:
>>> int('5')
5
>>> float('5.0')
5.0
>>> float('5')
5.0
>>> int(5.0)
5
>>> float(5)
5.0
>>> int('5.0')
Traceback (most recent call last):
  File "", line 1, in 
ValueError: invalid literal for int() with base 10: '5.0'
>>> int(float('5.0'))
5

3.pandas读取的dataframe转列表:

pd_data = pd.read_csv(filename)
diseases = pd_data['DiseaseName'].tolist()
symptom = pd_data["symptom"].tolist()
disease_dict = dict(zip(diseases,symptom))

1⃣️df['a'].values.tolist()或者df['a'].tolist()都可,可以不要再傻了吧唧的知道长度之后再去遍历一个一个append到列表里了吗?
2⃣️已知有俩列表,可以用dict(zip())的形式把这转换成字典。

  1. 读取文件的时候,按照":"split,然后取data[1]报数组越界,可以检查一下是不是文件有问题吗??比如说可以打印一下是不是哪里切开之后长度不等于2,直接定位到有问题的那一行

5.三目运算

for i in range(query_length):
    found = process.extractOne(query[i], choices=disease_dict.keys(), score_cutoff=90)
    print(found)
    step1_dise.append(found[0] if found  else None)

我这里的found输出的有两种形式,一种是None,一种是(‘词’,数字)
step1_dise.append(found[0] if found else None) 这种是Python中的三目运算。

6.列表生成式
里面的if要和for一起用啊。。操。。基础不得行

你可能感兴趣的:(Python踩坑记录)