【问题标题】:Multi-line String to Tuple Dict in Python 2.7Python 2.7 中的多行字符串到元组字典
【发布时间】:2017-10-30 11:26:11
【问题描述】:

我有一个多行字符串,我想使用 Python 2.7 将其转换为元组字典

我的字符串是:

data = '''1 George  1789 
2   John    1797
3   Thomas  1801
5   James   1817'''

让我们调用字典:

pres{}

我希望键为 1,它吐出的值为“George”和“1789”。

print pres[1] 

应该给

George,1789

【问题讨论】:

  • 有什么问题?
  • 这个问题都没有使用有效的语法,你想要有效语法的答案吗?
  • 抱歉,我是编码新手,不确定。我希望命令 print pres[5] 显示 James,1817
  • 那么最好通过tutorial。先尝试一下。

标签: python string python-2.7 dictionary tuples


【解决方案1】:

如果您拆分文本,您可以以一种舒适的方式对其进行解析:

data = """1   George  1789 
2   John    1797
3   Thomas  1801
5   James   1817"""
rows = data.split('\n')
pres = {}
for row in rows:
    vals = row.split()
    pres[vals[0]] = (vals[1], vals[2])

pres
{'1': ('George', '1789'), '3': ('Thomas', '1801'), '2': ('John', '1797'), '5': ('James', '1817')}

当然,您可以将 pres[vals[0]] = (vals[1], vals[2]) 更改为 pres[int(vals[0])] = (vals[1], vals[2]) 以获得整数索引而不是字符串索引。

此外,多行字符串包含三个引号,而不仅仅是 1。

【讨论】:

  • 非常感谢它的工作!也谢谢你对我的耐心。因为我是新手,所以我可能有点烦人。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-07
  • 1970-01-01
  • 2017-09-17
  • 2011-06-22
  • 2016-07-30
相关资源
最近更新 更多