当前位置: 首页 > 面试题库 >

明智的元素串联多个列表(字符串列表的列表)

轩辕越泽
2023-03-14
问题内容

我有一个字符串列表如下

lst = [['a','b','c'],['@','$','#'],['1','2','3']]

我想明智地将list元素内的每个字符串连接起来,预期输出如下:

['a@1','b$2','c#3']

的大小lst可以变化。有没有任何方法可以完成此操作而无需进行for循环。
我尝试使用地图,但无法正常工作。

map(str.__add__,(x for x in list))

请帮忙。


问题答案:

这是压缩子列表并使用''.join生成的元组进行映射的一种方法:

list(map(''.join, zip(*lst)))
# ['a@1', 'b$2', 'c#3']

zip如docs所示,此处汇总了来自多个可迭代对象的元素。使用*,我们将列表解压缩到单独的可迭代对象中,这意味着该函数将改为接收zip(['a','b','c'],['@','$','#'],['1','2','3'])

现在,在每次迭代时,map它将应用于''.join每个聚合的可迭代对象,即,应用于每个子列表中的第一个元素,然后应用于第二个,依此类推。



 类似资料:
  • 问题内容: 我有一个包含字符串的元组列表,例如: 现在,我希望将一个元组中的每个字符串连接起来,以创建一个用空格分隔的字符串列表。我使用以下方法: 工作正常。 但是,我有超过一百万个元组的列表。所以我的问题是,这种方法是否足够有效,或者有更好的方法呢?谢谢。 问题答案: 对于大量数据,您应该考虑是否 需要 将所有数据都保留在列表中。如果您一次处理每个字符串,则可以创建一个生成器,该生成器将产生每个

  • 我需要在一个映射中插入一些数据,该映射需要一个字符串作为键,一个字符串列表作为值,但我不知道怎么做。 这是我试图做的。 首先,我创建了一个HashMap,然后创建了一个新对象,现在出现了问题。 我创建了一个新的字符串列表,给它起了一个名字,然后我认为我必须使用“put”方法,但这是错误的,因为我有一个错误,告诉你:“方法put(String,List)在类型HashMap中 为什么是布尔值?当我在

  • 问题内容: 假设我有一个这样的函数: 它返回与给定顶点相邻的顶点列表。现在,我想创建一个包含所有邻居的列表。我这样做是这样的: 有没有更Python的方式做到这一点? 问题答案: [x for n in getNeighbors(vertex) for x in getNeighbors(n)] 要么

  • 问题内容: 如何将列表中的字符串转换为正确的列表? 我对此感到厌倦,但并非我所期望的: 我想要这样: 谢谢 问题答案: 使用literal_eval从AST模块: 与不同,literal_eval可安全地用于用户字符串或其他未知字符串源。它只会将字符串编译成基本的python数据结构-其他所有方法都会失败。 或者,如果您的字符串就是这样(即,没有嵌入的逗号或在带引号的字符串内解析的意思),则可以强

  • 问题内容: 我有两个列表,我想按元素将它们连接起来。列表之一在连接之前要经过字符串格式化。 例如 : 在这种情况下,要进行字符串格式化。也就是说,new或应为: 最终输出应为: 有人可以告诉我该怎么做吗? 问题答案: 用途 :