我正在用*args和测试一些代码**kwargs,我dictionary为**kwargs. 出于某种原因,我得到
def func(*args, **kwargs):
if args:
second_test(*args)
elif kwargs:
second_test(**kwargs)
def second_test(stringa, integera, floata):
print("Name: %s, Problems Correct: %d, Points: %f" % (stringa, integera, floata))
profile_1 = ["David", 21, 132.00]
func(*profile_1)
profile_1a = {'Name': 'David', 'Problems Correct': 21, 'Points': 132.00}
func(**profile_1a)
Run Code Online (Sandbox Code Playgroud)
代码开始于line 44并结束于line 57。这是我得到的错误:
TypeError: second_test() got an unexpected keyword argument 'Name'
Run Code Online (Sandbox Code Playgroud)
我在谷歌上搜索了“意外的关键字参数”,但我永远找不到定义;只有其他stackoverflow文章。我的代码有什么问题?
我正在查看 Java 的 TheAlgorithms 存储库,首先找到了这个: https: //github.com/TheAlgorithms/Java/blob/master/Searches/SearchAlgorithm.java。我明白了<T extends Comparable<T>>,但我不知道这意味着什么。我只了解一点关于泛型的知识,并且我知道语法与参数类型边界有关,但是如果有人能够澄清这与Comparable<T>和 是什么Comparable<T>有什么关系,那就太好了。
这个论坛上还有一些与我的类似的其他问题,涉及实施<T extends Comparable<T>>,但答案并没有真正澄清是什么Comparable<T>。
我正在尝试生成一个随机的整数列表,如下所示:
private static int nextElement() {
Random r = new Random();
return r.nextInt(100);
}
public static void main(String[] args) {
Integer[] integers = Stream.generate(nextElement())
.limit(200)
.toArray(Integer[]::new);
}
Run Code Online (Sandbox Code Playgroud)
该错误在 下显示为红色波浪线generate,说明如下:
The method generate(Supplier<? extends T>) in the type Stream is not
applicable for the arguments (int)
Run Code Online (Sandbox Code Playgroud)
我认为这意味着for的返回类型nextElement()不能是 an int,但我可能错了。如何修复此代码,以便可以生成随机整数列表?