小编Jon*_*n C的帖子

在字典中转换2元组键并将其作为字典值添加到新字典中

所以我有价值观:

values = {(0, 0): 0, (0, 1): 1, (1, 0): 1, (1, 1): 0}
Run Code Online (Sandbox Code Playgroud)

我想将上面的字典转换为:

values = {0: {0: 0, 1: 1}, 1: {0: 1, 1: 0}}
Run Code Online (Sandbox Code Playgroud)

我的功能:

def convert(values : {(int,int): int}) -> {int: {int: int}}:
    dictionary = {}
    l = []

    for k in d.keys():
        l.append(k)

    for k,v in d.items():
        for i in l:
            if i == k:
                dictionary[v] = dict(l)

    return dictionary
Run Code Online (Sandbox Code Playgroud)

但我把它作为我的输出而是:

values = {0: {0: 1, 1: 1}, 1: {0: 1, 1: 1}}
Run Code Online (Sandbox Code Playgroud)

python dictionary tuples

11
推荐指数
2
解决办法
812
查看次数

按月python排序元组列表

我有元组中的假期列表:

holidays = [('Easter', ('Apr', 1), 0),
            ('Earth Day', ('Apr', 22), 0),
            ('Pearl Harbor Rememberance Day', ('Dec', 7), 0),
            ('Christmas Day', ('Dec', 25), 50),
            ('Groundhog Day', ('Feb', 2), 0)]
Run Code Online (Sandbox Code Playgroud)

以及对它们进行排序的功能:

def holiday1(holidays : [(str,(str,int),int)]) -> [(str,(str,int),int)]:
    return sorted(holidays, key=lambda x:x[1])
Run Code Online (Sandbox Code Playgroud)

我按字母顺序按月分类,但我想按月份的位置对它们进行排序.(例如Jan = 1,Feb = 2等)

我已经为这几个月创建了一本字典:

months = {'Jan': 1, 'Feb': 2, 'Mar': 3, 'Apr': 4, 'May': 5, 'Jun': 6, 'Jul': 7, 'Aug': 8, 'Sep': 9, 'Oct': 10, 'Nov': 11, 'Dec': 12}
Run Code Online (Sandbox Code Playgroud)

我不确定如何使用dict'months'来排序元组列表,以便结果如下:

holidays = [('Groundhog Day', ('Feb', 2), 0), …
Run Code Online (Sandbox Code Playgroud)

python sorting

2
推荐指数
1
解决办法
248
查看次数

标签 统计

python ×2

dictionary ×1

sorting ×1

tuples ×1