繁体   English   中英

将字符串列表转换为元组

[英]converting a list of strings into a tuple

你好我想用Python做一本字典,需要做的是python读取一个文本文件里面的值如下:

good    buono

我所做的是,用文件功能打开文件并替换选项卡并添加反转的逗号以创建列表,使其看起来像

["('good', 'buono')", "('afternoon', 'pomeriggo')",... and so on

但问题是每个单词翻译的类型不是元组,当我试图看第一个元素(数字0)时它是字符串它显示我的值为

"('good', 'buono')"

这是一个字符串。 我需要使用dict公式,以便我可以将类型转换为字典,但我不能,因为它是字符串列表(必须是元组列表)

那么如何将该字符串列表转换为元组列表呢?

假设每对单词都在文件的单独行中,您可以这样做:

mydict = {line.split()[0]: line.split()[1] for line in myfile}

这会转换像这样的文件

good    buono
afternoon   pomeriggo
thanks    grazie

{"good": "buono", "afternoon": "pomeriggo", "thanks": "grazie"}

沿途不需要元组。

.split()在空格上拆分输入字符串,删除任何前导/尾随空格:

>>> "  good\tbuono  \n".split()
['good', 'buono']
with open('input.txt') as f:
     result = map(str.split, f)
     # -> [['good', 'buono'], ['afternoon', 'pomeriggo']]
     d = dict(result)
     # -> {'good': 'buono', 'afternoon': 'pomeriggo'}

ast会像@onemach建议的那样工作,但你可能想要以元组的形式读取字符串。

片段:

li = []
with open("file.txt", 'r') as f:
    li.append(tuple(f.readline().split('\t')))

这将分割关于选项卡的字符串,并将其放入元组对象,然后将其附加到列表中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM