鱼C论坛

 找回密码
 立即注册
查看: 4542|回复: 14

将数[1,2,3]转换为整型123,怎么处理?

[复制链接]
发表于 2018-5-19 23:36:18 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
temp1 = [1,2,3]
number = int(''.join([str(j) for j in temp1]))
有的时候跑不动

出现的错误

出现的错误
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-5-20 00:07:56 | 显示全部楼层
用的什么软件?我的好像一直都可以的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-5-20 01:17:04 From FishC Mobile | 显示全部楼层
from functools import reduce
temp1 = [1,2,3]
# 1
rs = 0
for x in temp1:
        rs = rs*10 + x
print(rs)

# 2
print(reduce(lambda x, y:x*10+y, temp1))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2018-5-20 06:52:05 | 显示全部楼层
hi  把 [] 去掉试试

temp1 = [1,2,3]
#number = int(''.join([str(j) for j in temp1]))  这里的[]没必要加
number = int( ''.join( str(j) for j in temp1  ) )
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2018-5-20 08:53:34 | 显示全部楼层
额,你的temp2数组为空数组,会出现这样的情况。
int()参数需要是只包含数组的字符串,空字符串怎么能转换呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-5-20 13:00:00 | 显示全部楼层
kerwin_lui 发表于 2018-5-20 00:07
用的什么软件?我的好像一直都可以的

Python3.3,是有的时候可以。单独运行可以,合一块就会出现错误
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-5-20 13:01:30 | 显示全部楼层
thexiosi 发表于 2018-5-20 06:52
hi  把 [] 去掉试试

temp1 = [1,2,3]

你好,我试了,加不加[]都可以的的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-5-20 13:15:05 | 显示全部楼层
yjsx86 发表于 2018-5-20 01:17
from functools import reduce
temp1 = [1,2,3]
# 1

你好,我是想把[3,0,1]转化为301,这样的话,你的这种方法就没有办法实现了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-5-20 13:16:44 | 显示全部楼层

RE: 将数[1,2,3]转换为整型123,[3,0,0]转化为300,[3,0,1]转化为301,怎么处理?

yjsx86 发表于 2018-5-20 01:17
from functools import reduce
temp1 = [1,2,3]
# 1

含零的,[3,0,0]转化为300,[3,0,1]转化为301
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-5-20 16:33:53 | 显示全部楼层
闲庭漫步的羊 发表于 2018-5-20 13:16
含零的,[3,0,0]转化为300,[3,0,1]转化为301

我试了一下,好像这种也行的吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-5-20 17:25:15 | 显示全部楼层
>>> temp1 = [1,2,3]
>>> number = int(''.join(str(j) for j in temp1))
>>> number
123
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-5-20 21:59:37 From FishC Mobile | 显示全部楼层
闲庭漫步的羊 发表于 2018-5-20 13:16
含零的,[3,0,0]转化为300,[3,0,1]转化为301

你真的试过了?结果是多少?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-5-21 09:12:09 | 显示全部楼层
  1. def listtoint(list1):
  2.     a = 0
  3.     for i in range(len(list1)):
  4.         a =a + int(list1[i]) * (10**(len(list1)-i-1))
  5.     return a


  6. l = [1, 2, 3]
  7. l2 = [1, 0, 0, 4]
  8. b = listtoint(l)
  9. c = listtoint(l2)
  10. print(b)
  11. print(c)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-5-21 09:45:51 From FishC Mobile | 显示全部楼层
BlueSand 发表于 2018-5-21 09:12

谢谢,写了这么长的程序,我试一下呀
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-5-21 10:50:47 | 显示全部楼层
闲庭漫步的羊 发表于 2018-5-21 09:45
谢谢,写了这么长的程序,我试一下呀

这还长,后面都是测试代码.
其实正的有用的代码其实就是前面的5行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-3-29 14:50

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表