我有一个整数和字符串的混合列表,我需要仅在字符串后打印“**”。data = [4, 'Fred', 'London', 34, 78, '@#=£', 89, 'Ice cream', 'Hamilton', 12, 'tingle']
[print(data, end='**') for data in data if isinstance(data, str)]这是输出:Fred**London**@#=£**Ice cream**Hamilton**tingle**期望的输出:4, Fred**, London**, 34, 78, @#=£**, 89, Ice Cream**, Hamilton**, 12, tingle**
1 回答
慕运维8079593
TA贡献1876条经验 获得超5个赞
您if现在正在过滤列表data。把它放在 之前for。另外,使用str.join以下方式连接各种字符串, :
data = [4, 'Fred', 'London', 34, 78, '@#=£', 89, 'Ice cream', 'Hamilton', 12, 'tingle']
print( ', '.join('{}**'.format(item) if isinstance(item, str) else str(item) for item in data) )
印刷:
4, Fred**, London**, 34, 78, @#=£**, 89, Ice cream**, Hamilton**, 12, tingle**
添加回答
举报
0/150
提交
取消