首页 > 解决方案 > 如何打印带有字符串和整数的列表理解并仅向字符串添加符号?

问题描述

我有一个整数和字符串的混合列表,我只需要在字符串之后打印'**'。

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**

标签: pythonlist-comprehension

解决方案


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**

推荐阅读