gpt4 book ai didi

Python:如何改造 python 列表并逐行打印?

转载 作者:太空宇宙 更新时间:2023-11-04 06:55:15 25 4
gpt4 key购买 nike

我有这样一个文件:

2.nseasy.com.|['azeaonline.com']
ns1.iwaay.net.|['alchemistrywork.com', 'dha-evolution.biz', 'hidada.net', 'sonifer.biz']
ns2.hd28.co.uk.|['networksound.co.uk']

预期结果:

2.nseasy.com.|'azeaonline.com'
ns1.iwaay.net.|'alchemistrywork.com'
ns1.iwaay.net.|'dha-evolution.biz'
ns1.iwaay.net.|'hidada.net'
ns1.iwaay.net.|'sonifer.biz'
ns2.hd28.co.uk.|'networksound.co.uk'

当我尝试这样做时,我得到的不是值 domains_list 的项目,而是域的字符。这意味着字典 d 的值中的列表被识别为列表而不是字符串。这是我的代码:

d = defaultdict(list)
f = open(file,'r')
start = time()
for line in f:
NS,domain_list = line.split('|')
s = json.dumps(domain_list)
d[NS] = json.loads(s)


for NS, domains in d.items():
for domain in domains:
print (NS, domain)

当前结果示例:

w
o
o
d
l
a
n
d
f
a
r
m
e
r
s
m
a
r
k
e
t
.
o
r
g
'
]

最佳答案

您对 json 所做的操作不正确。 s = json.dumps(domain_list) 将列表转储到字符串 s 中。 json.loads(s) 再次读取该字符串,然后您遍历该字符串并打印它,因此输出中只有单个字符。尝试类似的东西:

d = defaultdict(list)
f = open(file,'r')
start = time()
for line in f:
NS,domain_list = line.split('|')
d[NS] = json.loads(domain_list.replace("'", '"'))


for NS, domains in d.items():
for domain in domains:
print (NS, domain)

关于Python:如何改造 python 列表并逐行打印?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28563548/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com