如何将列表转换为以列表元素类型为条件的字符串

想要数据

我有一个字符串列表,我想将其转换为单个字符串。

该列表包含我不想用空格分隔的整数。

例如我有以下清单:

lst = ['This', 'house', 'has', 1, 2, 'rooms']

我用来制作字符串的方式是:

' '.join([str(elem) for elem in lst])

这当然会导致:“这所房子有 1 2 个房间”

目的是得到:'这所房子有 12 个房间'

我不确定如何根据列表元素的类型来调节上面join语句,以便在它是字符串时有空间,如果是 int 则有空字符串。

有什么建议吗?

食物吧

可能是过度设计的解决方案,但这里是:

' '.join(filter(lambda y: (y != ''), ((''.join([str(' '+x+' ') if type(x) is str else str(x) for x in lst])).strip().split(' '))))

说明:

  1. 检查 elem 的类型,如果 str 则在前后各加一个空格,并使用 strip() 去除前导和结束空格
  2. 这会给你 'This house has 12 rooms'
  3. 正如你所看到的,有一些元素有两个空格,所以我们用空格分割列表。我们得到['This', '', 'house', '', 'has', '12', 'rooms']
  4. 我们从列表中过滤掉空格。我们将通过此过滤器获取此列表。['This', 'house', 'has', '12', 'rooms']
  5. 我们通过单个空格重新加入列表。

它将给出以下输出:

'This house has 12 rooms'

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将字符串转换为列表(Android)?

如何将列表的字符串表示形式转换为列表?

如何将字符串转换为字符列表?

如何将列表元素转换为字符串?

如何将字符串转换为字典或列表?

如何将数字列表转换为字符串?

如何将列表转换为字符串?

如何将字符串转换为数字列表

如何将包含列表列表的文件转换为字符串?

Python-如何将Panda中的元素从列表转换为字符串

如何将案例类数据列表转换为字符串数据列表?

如何将整个列表转换为字符串,然后将字符串转换回整个列表

Python:如何将一组包含逗号(表示为列表元素)的字符串转换为子列表?

如何将列表作为字符串从API转换为字符串列表

如何将列表对象转换为列表字符串(出现错误,无法转换类型的对象)

如何将字符串转换为列表?

如何将字符串转换为数组列表

如何将表示为字符串的列表转换为列表?

python - 如何将嵌套列表转换为包含字符串的列表?

如何将列表转换为字符串?

如何将字符串作为单个元素转换为列表?

ValueError: 无法将字符串转换为浮点数---如何将字符串列表的列表转换为 numpy 数组类型浮点数?

如何将列表中的每个元素转换为带引号的字符串

如何将字符串元素从列表转换为 int 变量?

如何将字符串(保存迭代字符串的变量)转换为单个列表

如何将列表转换为字符串

如何将字符串转换为列表?12345

如何将字符串转换为字典列表

如何将列表中字符串中的每个单词转换为列表中的元素