Python:输出列表元素并以符号分隔

题目描述

​编程实现:​给定一组整数数据(不超过100个整数),按顺序完成以下操作并输出结果。

操作要求:

1)将数据中的所有负整数转化为正整数;

2)对转化后的数据进行从小到大排序。

​例如:​整数数据为1,-3,6,-2,将负整数转化为正整数后得到1,3,6,2,按数值从小到大排序后的结果为1,2,3,6。

输入描述

输入一行整数数据(-100≤N≤100),整数之间以一个英文逗号隔开

输出描述

输出一行整数数据,表示按照要求操作后的结果,整数之间以一个英文逗号隔开

样例展示

输入数据 1

1,-3,6,-2

输出数据 1

1,2,3,6

编码方法

方法一 

今天做这道题的时候忘记怎样用逗号分隔列表元素输出,用了一种麻烦的方法:把得到的列表转换成字符串,去掉空格、‘ [ ’、‘ ] ’。

l=list(map(int,input().split(',')))
l=[abs(i) for i in l]#abs(i):i的绝对值
l.sort()
l=str(l)#转换成字符串后会有空格

s=''
for j in l:
    if j!=' ' and j!='[' and j!=']':
        s+=j
print(s)

方法二 

以下是用join方法做的

l=list(map(int,input().split(',')))
l=[abs(i) for i in l]
l.sort()

print(','.join(str(i) for i in l))

print(','.join(str(i) for i in l))

 只用这一行便能解决了,例:ln=[1,2,3,4]

ln=[1,2,3,4]
for i in ln:
    print(i,end=',')

以上方法得到的结果:

1,2,3,4,

最后会多了一个逗号,不正确。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值