1.输入输出
(一)把列表中元素全体转化类型
例:
m=["1","2","3"]
n=list(map(int,m))
n=[1,2,3]
或者:
m=[int(x) for x in m]
(二) 输出去掉列表括号逗号
a_list=['monday','tuesday','wednesday','thursday','friday','saturday','sunday']
print(' '.join(a_list))
print("\r")
b_tuple=('monday','tuesday','wednesday','thursday','friday','saturday','sunday')
print(' '.join(b_tuple))
join函数列表的元素必为str,对于 列表元素是整数的则
print(" ".join(str(i) for i in [1, 2, 3]))
2.一些特别的函数
1.zip(a,b,c....)
返回打包好的元素为元组的列表
a = [1,2,3]
b = [4,5,6]
c = [4,5,6,7,8]
zipped = zip(a,b)
[(1, 4), (2, 5), (3, 6)]
2.round(x,[n] )
浮点数变整数,保留n位小数
a=0.6593324
a=round(a*-1,3)
print(a)
[1]-0.659
3.reserved()函数
reserved() 是 Pyton 内置函数之一,其功能是对于给定的序列(包括列表、元组、字符串以及 range(n) 区间),该函数可以返回一个逆序序列的迭代器(用于遍历该逆序序列)。
举个例子,在蒙特卡洛方法更新价值函数和计数函数时有时需要逆序遍历 状态动作 数组。
for state, action in reversed(state_action):
c[state][action] += rho
q[state][action] += (rho / c[state][action] * (g - q[state][action]))
a=q[state].argmax()
policy[state]=0
policy[state][a]=1
if a !=action:
break
rho /= behavior_policy[state][action]
3. 读csv文件
先上示例代码
fo=open("data/IMDB Dataset.csv",encoding='utf-8')
ls=[]
for line in fo:
line=line.replace("\n","")
ls.append(line.split(","))
print(ls)
fo.close()
注意encoding=“utf-8" 编码的方式有很多比如gbk(默认打开方式),但是gbk能表示的字符比较少,经常遇见不能表示的,所以加一句encoding=“utf-8"会比较好
错误提示例:
UnicodeDecodeError: 'gbk' codec can't decode byte 0x93 in position 7841: illegal multibyte sequence
4.文件找不到路径
与其把punkt放在nltk_ data下,您应该在nltk_data标签为“tokenizers”的文件夹中创建一个新文件夹,其中punkt应该放在里面
示例: