|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 高家伟 于 2017-3-28 19:37 编辑
我想把一个字符串转成一个float,但是在使用map函数的时候遇到了下面的问题,希望能够得到解答
这是代码:
- a = '123.456'
- b = a.split('.')
- def char2num(string):
- l = {'0':0,'1':1,'2':2,'3':3,'4':4,'5':5,'6':6,'7':7,'8':8,'9':9}
- for i in string:
- return l[i]
- c = map(char2num,b)
- for i in c:
- print(i)
- print(c)
- print(type(c))
复制代码
运行后显示如下:
- 1
- 4
- <map object at 0x000002308F08AB70>
- <class 'map'>
复制代码
本来想显示成123和456的,不知道为何变成了1和4,如果不用函数,直接用- char2num(b[0])
- char2num(b[1])
复制代码 则会出现123和456.
求大神解惑
for i in string:
return l[i]
return 会直接结束函数,所以for没有循环
|
|