看起来这个问题已被问了好几次,但没有一个答案帮助了我,所以我害怕我再问一遍(请不要恨我!)。 我有两个列表列表:
amm = [['0005FC66DF', '4403'", ',\n'], [" ['0001C52E02', '4406'", ',\n'],etc]
和
data = [['07/11/2012', '09:53:36', 'Thing', '#0F', '0006E7895B', 'T', 'U\n'], ['05/13/2012', '09:54:27', 'Thing', '#0F', '0006E3DADA', 'T', 'U\n'], etc].
我想看看数据列表中的第5个元素是否与amm列表中的第一个元素相同,如果是,我想将数据列表写入新的列表列表amv。我试过了一切。我从
开始for i in data:
if data[i][4] in amm:
amv[i].append(i)
没有给amv写任何东西,所以我试过
amv=[item for item in data if item[4] in[items for items in amm]]
有同样的问题,所以我试过
for i in data:
for j in amm:
if i[4] == j[0]:
amv.append(j)
和这些主题的一百万(可能稍微更准确)的变化。这应该是一件很简单的事情,但它不适合我。任何帮助都将非常非常感激。提前谢谢!
EDIT 对不起,这不是很清楚。我要做的是编写一个新列表(amv),其中包含数据中所有列表,其中第五个元素以amm显示。我显示的所有脚本都没有在新列表中添加任何内容,amv。 amv一直都是空的,我无法弄明白为什么......
答案 0 :(得分:1)
s = set(x[0] for x in amm)
amv = [x for x in data if x[4] in s]