python 字符串转字典问题

2014-11-17 20:42:23 +08:00
 dbas
我一个txt内容如下:
3 1.234.65.197
6 120.38.244.29
6 183.221.184.29
6 222.129.57.61


请教下如何转为一个字典
3842 次点击
所在节点    Python
13 条回复
VeryCB
2014-11-17 20:44:57 +08:00
你期望的字典格式是什么样的?
dbas
2014-11-17 20:48:16 +08:00
3: 1.234.65.197,6:120.38.244.29
ChanneW
2014-11-17 20:49:43 +08:00
3 和 6 是什么意思
est
2014-11-17 21:10:53 +08:00
dict(o.split(' ') for o in """
3 1.234.65.197
6 120.38.244.29
6 183.221.184.29
6 222.129.57.61
""".splitlines())
est
2014-11-17 21:11:16 +08:00
>>> dict(o.split(' ') for o in """
... 3 1.234.65.197
... 6 120.38.244.29
... 6 183.221.184.29
... 6 222.129.57.61
... """.splitlines() if o)
{'3': '1.234.65.197', '6': '222.129.57.61'}
irosyking
2014-11-17 21:14:06 +08:00
写的不够好,你看一下

import re

s='''3 1.234.65.197
6 120.38.244.29
6 183.221.184.29
6 222.129.57.61
'''
d=dict()
for g in re.finditer(r'(\d) ((?:(?:2(?:[0-4][0-9]|5[0-5])|[0-1]?[0-9]?[0-9])\.){3}(?:(?:2(?:[0-4][0-9]|5[0-5])|[0-1]?[0-9]?[0-9])))',s):
d[g.group(1)]=g.group(2)

print d
SakuraSa
2014-11-17 21:16:10 +08:00
SakuraSa
2014-11-17 21:17:17 +08:00
如何markdown呢?
?1
irosyking
2014-11-17 21:18:38 +08:00
chengdujin
2014-11-17 21:19:57 +08:00
with open("input", "r") as f:
data = [line.strip().split() for line in f.readlines()]
print {d[0]:d[1] for d in data}
dbas
2014-11-17 22:01:48 +08:00
想要est的结果。呵呵
chengdujin
2014-11-17 22:39:28 +08:00
@dbas 你看我那个就行啦 从文件中读,输出结果和@est 一样
xiaowangge
2014-12-03 14:01:46 +08:00
《如何用好Google搜索引擎?》

http://www.zhihu.com/question/20161362

《十大高明的Google搜索技巧》

http://www.williamlong.info/archives/728.html


《提问的智慧》


http://wiki.woodpecker.org.cn/moin/AskForHelp

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/147251

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX