根据一个值连接两个不同列表的字符串

我有以下变量z

z =   [
        ['8575748' , 't', 'TextA.\n'],
        ['8575748' , 'a', 'TextB.\n'],
        ['10556298', 't', 'TextC.\n'],
        ['10556298', 'a', 'TextD.\n'],

       ]

'TextA\n', 'TextB\n', 'TextC\n', and'TextD\n'只不过是从.txt文件中解析出来的文本样本't'分别'a'代表titleabstract

我正在尝试产生以下输出:

[('8575748', 'TextA.' + ' ' + 'TextB.'), ('10556298', 'TextC.' + ' ' + 'TextD.')]

titleabstract与空间连接' '请注意,\n每个文本的末尾都有在连接期间要删除的内容。

我尝试了以下方法:

(list(zip(z[0], z[1]))[0][0] , \
 list(zip(z[0], z[1]))[2][0].strip('\n') + list(zip(z[0], z[1]))[2][1].strip('\n'))

看起来很长的代码。我想要一个快速而干净的代码。

安德烈·凯斯利
z = [
    ["8575748", "t", "TextA.\n"],
    ["8575748", "a", "TextB.\n"],
    ["10556298", "t", "TextC.\n"],
    ["10556298", "a", "TextD.\n"],
]

out = {}
for id_, _, txt in z:
    out.setdefault(id_, []).append(txt.strip())

out = [(k, " ".join(v)) for k, v in out.items()]
print(out)

打印:

[('8575748', 'TextA. TextB.'), ('10556298', 'TextC. TextD.')]

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

连接两个不同列表中的字符串

如何根据第一个字符串有两个不同的响应?

迭代两个列表并根据列表中的子字符串进行连接

将两个不同的列表导出为一个字符串

一个带有两个连接字符串的sql命令

对象并从两个输入中分配一个连接的字符串

使用 Perl 将两个不同的多行字符串合并为一个

如何根据字符串值和两个日期过滤字典列表

sed在url中两个匹配字符串之间输出一个值

比较两个列表:一个包含对象,另一个包含字符串

为什么连接两个空字符串会导致一个空字符串?

两个不同的(?)字符串

如果一个列表仅包含一个字符串,则用逗号分隔的字符串比较两个列表

根据两个参数选择值:另一个列字符串值和使用 BigQuery 的 max(date)

结合两个数组字符串组成一个列表

根据查询字符串值创建一个 FlaskForm 下拉列表

比较两个字符串并获得另一个值

Flutter 比较一个值和两个字符串

数组列表。将字符串值连接到一个索引中

连接两个字符串,其中第一个字符串在末尾有一个空格

根据匹配将不同的字符串替换为另一个文件中的字符串列表

根据唯一值python将一个列表分为两个列表

如何从两个具有备用值的列表集中制作一个字符串

如果每个字符串中的索引匹配,如何通过索引比较两个 python 列表返回一个布尔值?

我想在两个列表之间应用除非。一个列表是 MailAddress 格式,另一个是字符串(转换为列表))

如何用一个命令替换两个不同文件中的字符串?

在对象中设置一个字符串等于两个不同的元素

查看一个变量中是否有两个不同的字符串的更好方法?

MySQL在两个不同字符串之间的子字符串,第二个指针在第一个之后