如何产生list元素来创建dict值

时间:2017-07-23 13:53:22

标签: python

我试图从my_list1创建一个dict值,密钥来自mylist,我怎样才能对包含列表的函数进行多次调用,并且每次调用时只返回列表中的1个元素,此刻我只获取给定键返回的列表中的最后一个元素。

我怎样才能实现这个目标?

my_list = ['BBC 1 HD', 'BBC ONE HD', 'BBC TWO HD', 'ITV', 'Sky Sports F1 
HD']

my_dict = {}

def Get_My_list1():
    yield from ["BBC One HD",
              "BBC Two HD",
              "ITV",
              "SkySp F1 HD"]

for channel in my_list:
    i = Get_My_list1()
    for v in i:
        my_dict[channel] = v

print(my_dict) 

我得到的输出如下

{'BBC 1 HD': 'SkySp F1 HD', 'BBC ONE HD': 'SkySp F1 HD', 'BBC TWO HD': 
'SkySp F1 HD', 'ITV': 'SkySp F1 HD', 'Sky Sports F1 HD': 'SkySp F1 HD'}

1 个答案:

答案 0 :(得分:0)

如果我理解你想要实现的目标,那么这就是你的生成器功能应该如何工作:

def Get_My_list1():
    for i in ["BBC One HD",
           "BBC Two HD",
           "ITV",
           "SkySp F1 HD"]:
        yield i