小编Rtu*_*can的帖子

如何使用list [i] [1]作为键从最大到最小对元组列表进行排序

这是我的清单。

[('a', 12), ('c', 4), ('b', 3), ('e', 6), ('d', 5), ('g', 50), ('f', 30),]  
Run Code Online (Sandbox Code Playgroud)

对该列表进行排序的结果将是。

[('g', 50), ('f', 30), ('a', 12), ('e', 6), ('d', 5), ('c', 4), ('b', 3)]  
Run Code Online (Sandbox Code Playgroud)

我尝试使用:

x = sorted(alpha_items, key=lambda x: x[1],)  
Run Code Online (Sandbox Code Playgroud)

但是我需要扭转它。

我可以添加另一个密钥吗?

python sorting key

0
推荐指数
1
解决办法
651
查看次数

如何在main()之外分配一个struct?

我已经构建了一个如下所示的book结构:

typedef struct _book{
    char name[NAME_LENGTH];
    char authors[AUTHORS_NAME_LENGTH];
    char publisher[PUBLISHER_NAME_LENGTH];
    char genre[GENRE_LENGTH];
    int year;
    int num_pages;
    int copies;
}book;
Run Code Online (Sandbox Code Playgroud)

我正在尝试定义一个图书馆,这是一个书籍阵列,所以稍后我可以在图书馆中存放另一个功能的图书.当像这样定义库时,内存写入/读取有问题library[BOOK_NUM],所以我决定分配.

问题是,它只允许我在main函数内部进行分配.当我写这行时:

book *library = (book*)malloc(BOOK_NUM*sizeof(book));
Run Code Online (Sandbox Code Playgroud)

main()它之外给我一个错误:

IntelliSense:常量表达式中不允许函数调用

错误C2099:初始化程序不是常量

但如果我将上面的线移到里面main()就行了.这是为什么?

另外,定义数组的更好方法是什么,以便以后可以用其他函数更改它?

c dynamic-memory-allocation

0
推荐指数
1
解决办法
394
查看次数

标签 统计

c ×1

dynamic-memory-allocation ×1

key ×1

python ×1

sorting ×1