目前我被困在试图找到三组的交集.现在这些集合实际上是我要转换成集合的列表,然后尝试找到它的交集.
这是我到目前为止所拥有的:
for list1 in masterlist:
list1 = thingList1
for list2 in masterlist:
list2 = thingList2
for list3 in masterlist:
list3 = thingList3
d3 = [set(thingList1), set(thingList2), set(thingList3)]
setmatches c = set.intersection(*map(set,d3))
print setmatches
Run Code Online (Sandbox Code Playgroud)
而且我正在
set([])
Script terminated.
Run Code Online (Sandbox Code Playgroud)
我知道有一个更简单,更好的方法来做到这一点,但我找不到一个......
编辑
好的,这就是我现在所拥有的.
setList=()
setList2=()
setList3=()
for list1 in masterlist:
setList=list1
for list2 in masterlist:
setList2=list2
for list3 in masterlist:
setList3=list3
setmatches=set(setList) & set(setList2) & set(setList3)
print setmatches
Run Code Online (Sandbox Code Playgroud)
仍然没有给我我正在寻找的东西:这是我确保在每个列表中的一个匹配.它给了我看起来像是所有套装的补充.
我正在做家庭作业,而程序的关键循环给我带来了麻烦.我的老师告诉我,如果我使用while循环获取一个反控制变量,她会取下积分,所以我很想把它弄好.
这就是我想要工作的东西,以及我内心的感受:
for ( int check = 0; check == value; check++ ) {
int octal = getOctal();
int decimal = convertOctal( octal );
System.out.printf( "%d:%d", octal, decimal );
}
Run Code Online (Sandbox Code Playgroud)
但是,此循环不会运行.我尝试使用while循环,它完美地工作!
int check = 0;
while ( check < value )
{
int octal = getOctal();
int decimal = convertOctal( octal );
System.out.printf( "%d:%d", octal, decimal );
check++;
}
Run Code Online (Sandbox Code Playgroud)
以下是主要方法的其余部分:
public static void main ( String args[] )
{
int value = getCount();
while ( value < 0 )
{ …Run Code Online (Sandbox Code Playgroud)