【发布时间】:2017-07-22 23:08:36
【问题描述】:
我有两个列表,我想将它们相互映射,但一个列表包含超过 1 个元素。所以我把它们压缩在一起,但它不能正常工作。
列表如下所示:
a = ['TEMP', 'TEMP,PRE', 'TEMP,HUM,RAN', 'HUM']
b = ['TEM', 'BAR', 'BAO', 'RAI']
我正在努力实现这一目标:
TEM.TEMP
BAR.TEMP
BAR.PRE
BAO.TEMP
BAO.HUM
BAO.RAN
RAI.HUM
我想将b 的每一项映射到a,但是在a 中有更多的值被, 分隔
我的代码如下:
import csv
mod1 = []
dev2 = []
d = {}
with open('/home/robi/Desktop/rob/device.csv', 'rb') as f:
next(f, None)
reader = csv.reader(f, delimiter=';')
for row in reader:
mod1.append(row[0])
dev2.append(row[1])
a = zip(dev2, mod1)
for it, key in a:
print it + '.' + key
但我得到这样的结果:
BAO.TEMP,HUM,RAN
BAR.TEMP,PRE
RAI.HUM
所以BAR 和BAO 没有正确映射。
【问题讨论】:
-
否定但为什么呢?我很高兴听到,所以以后我在提问时必须小心
-
您的代码抛出错误
IndentationError: expected an indented block,因此输出不能来自您在此处提供的代码,原样。你在发帖时应该更加小心,你应该忽略你的感激之情等:阅读this help page的最后一段并将其应用于你的帖子和cmets。 -
@Anthon 我将遵循这些准则。我在代码中更正了我的缩进,我阅读了这一段,我将按照描述进行操作。
-
无缘无故否决答案是不好的。至少应该给出一些正当的理由。 .
-
将鼠标悬停在向下箭头上方时会显示原因。故意让您在投反对票时不必发表评论或类似内容。对您的问题投反对票的人实际上看到您的评论的可能性很小。正如我所评论的,我是唯一一个收到您的消息通知的人。没有其他人得到通知,当然也没有投票者。