我正在用*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
,但我可能错了。如何修复此代码,以便可以生成随机整数列表?