Python 将两个列表合并到一个词典中

Python 将两个列表合并到一个词典中,python,list,csv,dictionary,Python,List,Csv,Dictionary,如果我有两张单子 dates = [] closes = [] 我有一本字典 dict2write = {'date', 'close'} 我怎样用这两个列表来填字典?我将把字典写入csv。字典是一个键/值对,您正在寻找它吗: dict2write = {} dict2write['date'] = dates dict2write['close'] = closes 还是我遗漏了什么?字典是一个键/值对,你在寻找它吗: dict2write = {} dict2write['date']

如果我有两张单子

dates = []
closes = []
我有一本字典

dict2write = {'date', 'close'}

我怎样用这两个列表来填字典?我将把字典写入csv。

字典是一个键/值对,您正在寻找它吗:

dict2write = {}
dict2write['date'] = dates
dict2write['close'] = closes

还是我遗漏了什么?

字典是一个键/值对,你在寻找它吗:

dict2write = {}
dict2write['date'] = dates
dict2write['close'] = closes

还是我遗漏了什么?

字典是一个键/值对,你在寻找它吗:

dict2write = {}
dict2write['date'] = dates
dict2write['close'] = closes

还是我遗漏了什么?

字典是一个键/值对,你在寻找它吗:

dict2write = {}
dict2write['date'] = dates
dict2write['close'] = closes

还是我遗漏了什么?

你到底想做什么

dates
closes
的长度是否相同,并且您希望制作一个字典,其中
dates
作为键,
closes
作为值,例如
{dates[0]:closes[0],dates[1]:closes[1],…}

如果是这样,您可以利用以下事实,即您可以通过以下方式列出该列表:

但如果这不是您想要的,如果您想要
'date'
'close'
作为键,那么就更容易了:

dict2write = {'date': dates, 'close': closes}
(请注意,您问题中的“字典”
{'date','close'}
,不是字典,而是一本字典。)


还是你想要一些不同的东西?

你到底想做什么

dates
closes
的长度是否相同,并且您希望制作一个字典,其中
dates
作为键,
closes
作为值,例如
{dates[0]:closes[0],dates[1]:closes[1],…}

如果是这样,您可以利用以下事实,即您可以通过以下方式列出该列表:

但如果这不是您想要的,如果您想要
'date'
'close'
作为键,那么就更容易了:

dict2write = {'date': dates, 'close': closes}
(请注意,您问题中的“字典”
{'date','close'}
,不是字典,而是一本字典。)


还是你想要一些不同的东西?

你到底想做什么

dates
closes
的长度是否相同,并且您希望制作一个字典,其中
dates
作为键,
closes
作为值,例如
{dates[0]:closes[0],dates[1]:closes[1],…}

如果是这样,您可以利用以下事实,即您可以通过以下方式列出该列表:

但如果这不是您想要的,如果您想要
'date'
'close'
作为键,那么就更容易了:

dict2write = {'date': dates, 'close': closes}
(请注意,您问题中的“字典”
{'date','close'}
,不是字典,而是一本字典。)


还是你想要一些不同的东西?

你到底想做什么

dates
closes
的长度是否相同,并且您希望制作一个字典,其中
dates
作为键,
closes
作为值,例如
{dates[0]:closes[0],dates[1]:closes[1],…}

如果是这样,您可以利用以下事实,即您可以通过以下方式列出该列表:

但如果这不是您想要的,如果您想要
'date'
'close'
作为键,那么就更容易了:

dict2write = {'date': dates, 'close': closes}
(请注意,您问题中的“字典”
{'date','close'}
,不是字典,而是一本字典。)

或者您想要一些不同的东西吗?

使用字典来形成元组,然后使用
dict()
创建字典

>>> dates = ['2014-07-31', '2013-11-22', '2014-01-01']
>>> closes = ['what', 'is', 'this?']
>>> zip(dates, closes)
[('2014-07-31', 'what'), ('2013-11-22', 'is'), ('2014-01-01', 'this?')]
>>> d = dict(zip(dates, closes))
>>> d
{'2013-11-22': 'is', '2014-07-31': 'what', '2014-01-01': 'this?'}
但是,如果您想将数据写入CSV文件,则不需要创建字典,只需压缩列表即可

import csv
with open('data.csv', 'w') as f:
    writer = csv.writer(f)
    writer.writerows(zip(dates, closes))
data.csv中的输出为:

2014-07-31,what
2013-11-22,is
2014-01-01,this?
另外值得一提的是,如果列表的长度不同,可以使用
itertools.izip_longest()
压缩列表。e、 g

import csv
from itertools import izip_longest
dates = ['2014-07-31', '2013-11-22', '2014-01-01']
closes = ["what's", 'this?']
with open('data.csv', 'w') as f:
    csv.writer(f).writerows(izip_longest(dates, closes))
这将使生成的CSV文件中缺少的列为空:

2014-07-31,what's
2013-11-22,this?
2014-01-01,
要制作字典,请使用以形成元组,然后使用
dict()
创建字典

>>> dates = ['2014-07-31', '2013-11-22', '2014-01-01']
>>> closes = ['what', 'is', 'this?']
>>> zip(dates, closes)
[('2014-07-31', 'what'), ('2013-11-22', 'is'), ('2014-01-01', 'this?')]
>>> d = dict(zip(dates, closes))
>>> d
{'2013-11-22': 'is', '2014-07-31': 'what', '2014-01-01': 'this?'}
但是,如果您想将数据写入CSV文件,则不需要创建字典,只需压缩列表即可

import csv
with open('data.csv', 'w') as f:
    writer = csv.writer(f)
    writer.writerows(zip(dates, closes))
data.csv中的输出为:

2014-07-31,what
2013-11-22,is
2014-01-01,this?
另外值得一提的是,如果列表的长度不同,可以使用
itertools.izip_longest()
压缩列表。e、 g

import csv
from itertools import izip_longest
dates = ['2014-07-31', '2013-11-22', '2014-01-01']
closes = ["what's", 'this?']
with open('data.csv', 'w') as f:
    csv.writer(f).writerows(izip_longest(dates, closes))
这将使生成的CSV文件中缺少的列为空:

2014-07-31,what's
2013-11-22,this?
2014-01-01,
要制作字典,请使用以形成元组,然后使用
dict()
创建字典

>>> dates = ['2014-07-31', '2013-11-22', '2014-01-01']
>>> closes = ['what', 'is', 'this?']
>>> zip(dates, closes)
[('2014-07-31', 'what'), ('2013-11-22', 'is'), ('2014-01-01', 'this?')]
>>> d = dict(zip(dates, closes))
>>> d
{'2013-11-22': 'is', '2014-07-31': 'what', '2014-01-01': 'this?'}
但是,如果您想将数据写入CSV文件,则不需要创建字典,只需压缩列表即可

import csv
with open('data.csv', 'w') as f:
    writer = csv.writer(f)
    writer.writerows(zip(dates, closes))
data.csv中的输出为:

2014-07-31,what
2013-11-22,is
2014-01-01,this?
另外值得一提的是,如果列表的长度不同,可以使用
itertools.izip_longest()
压缩列表。e、 g

import csv
from itertools import izip_longest
dates = ['2014-07-31', '2013-11-22', '2014-01-01']
closes = ["what's", 'this?']
with open('data.csv', 'w') as f:
    csv.writer(f).writerows(izip_longest(dates, closes))
这将使生成的CSV文件中缺少的列为空:

2014-07-31,what's
2013-11-22,this?
2014-01-01,
要制作字典,请使用以形成元组,然后使用
dict()
创建字典

>>> dates = ['2014-07-31', '2013-11-22', '2014-01-01']
>>> closes = ['what', 'is', 'this?']
>>> zip(dates, closes)
[('2014-07-31', 'what'), ('2013-11-22', 'is'), ('2014-01-01', 'this?')]
>>> d = dict(zip(dates, closes))
>>> d
{'2013-11-22': 'is', '2014-07-31': 'what', '2014-01-01': 'this?'}
但是,如果您想将数据写入CSV文件,则不需要创建字典,只需压缩列表即可

import csv
with open('data.csv', 'w') as f:
    writer = csv.writer(f)
    writer.writerows(zip(dates, closes))
data.csv中的输出为:

2014-07-31,what
2013-11-22,is
2014-01-01,this?
另外值得一提的是,如果列表的长度不同,可以使用
itertools.izip_longest()
压缩列表。e、 g

import csv
from itertools import izip_longest
dates = ['2014-07-31', '2013-11-22', '2014-01-01']
closes = ["what's", 'this?']
with open('data.csv', 'w') as f:
    csv.writer(f).writerows(izip_longest(dates, closes))
这将使生成的CSV文件中缺少的列为空:

2014-07-31,what's
2013-11-22,this?
2014-01-01,

data=dict(zip(dates,closes))
James和ex0ns为两个不同的问题提供了两种不同的解决方案,显然您需要更清楚地描述您想要做的事情。谢谢James,太好了。对我来说似乎已经足够清楚了——请不要要求澄清你答案中的问题。这是一种糟糕的形式:/对于潜在的回答者--“使用评论来询问更多信息或提出改进建议。避免在评论中回答问题。”:)
data=dict(zip(日期,结束))
James和ex0ns为两个不同的问题提供了两种不同的解决方案,这表明您需要更清楚地描述您想要做的事情。谢谢James,这太好了。对我来说似乎足够清楚了,奥利托可能的答案-