【发布时间】:2020-02-28 09:18:45
【问题描述】:
我目前有一个以频道 ID 作为键的字典和一个包含来自字典中频道的视频 ID 的列表,如下所示:
channel_ids = {
'channel1_id': None,
'channel2_id': None
}
set_of_video_ids = [
'channel1_videoid1', 'channel1_videoid2',
'channel2_videoid1', 'channel2_videoid2'
]
我这样做的目的是将每个频道的视频 ID 放在一个列表中,并将其添加为字典中键的值,看起来应该像这样
channel_ids = {
'channel1_id': [
'channel1_videoid1',
'channel1_videoid2'
]
'channel2_id': [
'channel2_videoid1',
'channel2_videoid2'
]
}
为此,我首先通过创建一个函数将 set_of_video_ids 列表一分为二,然后添加了一个 for 循环将其作为每个键的值。
for video_ids_per_channel in split_list(set_of_video_ids, number_of_parts = len(channel_ids.keys())):
for channel_id in channel_ids.keys():
channel_ids[channel_id] = video_ids_per_channel
print(channel_ids)
另外,拆分后的 video_ids_per_channel 看起来像这样:
['channel1_video1', 'channel1_video2']
['channel2_video1', 'channel2_video2']
但是,当我打印字典以查看结果时,我会得到所有可能的组合,如下所示:
{
'channel1': [
'channel2_videoid1', 'channel2_videoid2'
],
'channel2': None
}
{
'channel1': [
'channel2_videoid1', 'channel2_videoid2
],
'channel2': [
'channel2_videoid1', 'channel2_videoid2
]
}
{
'channel1': [
'channel2_videoid1', 'channel2_videoid2
],
'channel2': [
'channel1_videoid1', 'channel1_videoid2
]
}
{
'channel1': [
'channel1_videoid1', 'channel1_videoid2
],
'channel2': [
'channel1_videoid1', 'channel1_videoid2
]
}
我怎样才能得到这个结果?
{
'channel1': [
'channel1_videoid1', 'channel1_videoid2
],
'channel2': [
'channel2_videoid1', 'channel2_videoid2
]
}
【问题讨论】:
-
将您的
print(...移出循环 -
@stovfl 将打印移出两个 for 循环仅将 channel_1_videoids 作为每个键的值
标签: python list loops dictionary discord.py