鱼C论坛

 找回密码
 立即注册
查看: 1115|回复: 12

[已解决]列表值转换求教

[复制链接]
发表于 2020-6-20 15:21:38 | 显示全部楼层 |阅读模式

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

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

x
我有原列表: ['百分比', 0.18783077252910993, 0.22321698021427624, 0.18793982332573]


我想转来新列表: ['百分比', '18.78%, '22.32%', '18.79%']  


这个需要怎么来。、~!?
最佳答案
2020-6-20 15:26:18
本帖最后由 Twilight6 于 2020-6-20 15:29 编辑


这样即可:
temp = ['百分比', 0.18783077252910993, 0.22321698021427624, 0.18793982332573]
new_list = []
for i in temp:
    if isinstance(i,float):
        new_list.append('{:.2f}%'.format(i*100))
    else:
        new_list.append(i)
print(new_list)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-6-20 15:23:36 | 显示全部楼层
列表推导式
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-20 15:24:29 | 显示全部楼层

  不会。、  能来示例吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-20 15:26:18 | 显示全部楼层    本楼为最佳答案   
本帖最后由 Twilight6 于 2020-6-20 15:29 编辑


这样即可:
temp = ['百分比', 0.18783077252910993, 0.22321698021427624, 0.18793982332573]
new_list = []
for i in temp:
    if isinstance(i,float):
        new_list.append('{:.2f}%'.format(i*100))
    else:
        new_list.append(i)
print(new_list)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2020-6-20 15:27:31 | 显示全部楼层
maxliu06 发表于 2020-6-20 15:24
不会。、  能来示例吗
a = ['百分比', 0.18783077252910993, 0.22321698021427624, 0.18793982332573]
b = []
b.append(a[0])
for i in a:
    if i != '百分比':
        b.append("%.2f"%i+"%")
print(b)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-20 15:28:16 | 显示全部楼层
temp = ['百分比', 0.18783077252910993, 0.22321698021427624, 0.18793982332573]
for i in range(len(temp)):
    if type(temp[i]) != str:
        tmp = temp[i] * 100
        tmp = "%.2f" % tmp + "%"
        temp[i] = tmp
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-20 15:38:37 | 显示全部楼层

转了之后,用openpyxl 写在excel 表上。  它出来的结果  还是 小数点形式的。 不是百分比字符串的~!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-20 15:39:29 | 显示全部楼层
maxliu06 发表于 2020-6-20 15:38
转了之后,用openpyxl 写在excel 表上。  它出来的结果  还是 小数点形式的。 不是百分比字符串的~!!

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-20 15:43:34 | 显示全部楼层
maxliu06 发表于 2020-6-20 15:38
转了之后,用openpyxl 写在excel 表上。  它出来的结果  还是 小数点形式的。 不是百分比字符串的~!!

右键excle的那个单元格,设置单元格格式,然后选择百分比就好了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-20 15:45:44 | 显示全部楼层
小甲鱼的铁粉 发表于 2020-6-20 15:43
右键excle的那个单元格,设置单元格格式,然后选择百分比就好了

我是想直接出结果 , 写在表格上面的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-20 15:47:11 | 显示全部楼层
maxliu06 发表于 2020-6-20 15:45
我是想直接出结果 , 写在表格上面的



对你想变的那列   使用 .apply(lambda x: format(x, '.2%'))

这样试试看,前面的格式化也可能就不用了,直接这样
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-20 15:50:09 | 显示全部楼层

  又可以了。。  不知道是不是环境的问题了、。、谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-20 16:01:41 | 显示全部楼层
maxliu06 发表于 2020-6-20 15:45
我是想直接出结果 , 写在表格上面的

额,那我还不会
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-20 13:23

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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