Python 如何生成列表元素以创建dict值

Python 如何生成列表元素以创建dict值,python,Python,一、 我试图从我的列表1中创建一个dict值,键来自mylist,如何对一个包含列表的函数进行多次调用,每次调用只返回列表中的一个元素,目前我只从为给定键返回的列表中获取最后一个元素 我怎样才能做到这一点 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",

一、 我试图从我的列表1中创建一个dict值,键来自mylist,如何对一个包含列表的函数进行多次调用,每次调用只返回列表中的一个元素,目前我只从为给定键返回的列表中获取最后一个元素

我怎样才能做到这一点

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'}

如果我了解您试图实现的目标,这就是您的发电机功能的工作方式:

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

在Python3中,使用
yield from some_list
.Blotosmetek更简单,它只为每个值提供列表的最后一个元素,而不是每个键的不同元素。您的问题不清楚。请向我们展示您希望在给定的输入列表中包含的内容。