例如
from queue import Queue
q: Queue = Queue()
q.put("abc")
Run Code Online (Sandbox Code Playgroud)
这没关系。现在我想指定进入队列的类型。
from queue import Queue
q: Queue[str] = Queue()
q.put("abc")
Run Code Online (Sandbox Code Playgroud)
这会得到“TypeError:'type'对象不可下标”
出于风格原因,我尝试将 myDict 的定义保留在 Foo 类之前。这将导致 NameError 因为 Foo 尚未定义。
from typing import Dict
myDict: Dict[str, Foo] = {}
class Foo:
pass
Run Code Online (Sandbox Code Playgroud)
将 myDict 移到 Foo 下方显然可以解决此问题,但是有什么方法可以将 myDict 及其注释保留在顶部吗?
我想使用 2 A 和 2 B 获得 4 个字符串的所有唯一排列
from itertools import permutations
perm = permutations('AABB', 4)
for i in list(perm):
print(i)
Run Code Online (Sandbox Code Playgroud)
这让我
('A', 'A', 'B', 'B')
('A', 'A', 'B', 'B')
('A', 'B', 'A', 'B')
('A', 'B', 'B', 'A')
...
Run Code Online (Sandbox Code Playgroud)
如您所见,我得到了重复项。我想这是因为它把第一名和第二名的 A 视为不同的值,但对我来说 AABB 只是 1 个独特的结果。
我可以通过将它们全部放入一个集合中以消除重复来解决此结果,但我认为我只是错误地使用了置换函数。
如何使用置换函数通过使用 2 个 A 和 2 个 B 来获得所有唯一的置换而不会得到重复?
我有一个名为Course的对象的ArrayList,我试图通过courseID和courseStartTime以两种方式对它进行排序.
编辑:澄清我的意思是我想在某个时间点按courseID对其进行排序,然后在另一个时间按courseStartTime对其进行排序.
class Course implements Comparable<Course> {
private int courseID;
private String courseBeginTime;
@Override
public int compareTo(Course course) {
//what to return?
}
Run Code Online (Sandbox Code Playgroud)
如果我写了两个我自己的比较器,一个用于比较courseID,另一个用于courseStarTime,那么compareTo()类中的方法没有被使用,我不知道要返回什么.
如果我想使用这个compareTo()方法,我不知道怎么写它所以我可以比较courseID和courseStartTime.
给定一个字符串,我想分割子字符串"foo"的所有实例.
如果我有一个像"foofoofoobarbar"这样的文本,我想把它分开到foo出现在String数组中的任何地方{"foo","foo","foo","barbar"}
当没有明显的分隔符可供查找时,我不明白如何使用正则表达式
String text= "foofoofoobarbar"
String[] splitted = text.split( ??????? );
Run Code Online (Sandbox Code Playgroud)
我怎么能做到这一点?