小编use*_*_01的帖子

在java中创建一个动态类

我正在研究一个问题,其中不同的动物类型从 Animal 接口实现相同的 talk() 方法。
如果你看一下getAnimal()方法,你会发现,当一种新的动物被添加到程序中时,该方法的内部也必须改变。
我想通过对 Animal 进行子类化来添加新动物,而不更改现有类中的任何内容。
例如添加动物“Dog”,criteria="loyal";说话=“汪”。
你能告诉我,这怎么可能?下面是我的代码:

interface Animal {

    public void talk();
}

class Lion implements Animal {

    @Override
    public void talk() {
        System.out.println("ROARRRRR");
    }
}

class Mouse implements Animal {

    @Override
    public void talk() {
        System.out.println("SQUEEEEEAK");
    }
}

class Bison implements Animal {

    @Override
    public void talk() {
        System.out.println("BELLOWWWWW");
    }
}

class AnimalType {

    public static Animal getAnimal(String criteria) {

        // I refactor this method
        if (criteria.equals("small")) {
            return new Mouse();
        } …
Run Code Online (Sandbox Code Playgroud)

java reflection interface dynamic-class

3
推荐指数
1
解决办法
2万
查看次数

在 Python 中获取范围的最后一个元素

这可能是一个简单的问题,但是您能告诉我如何打印范围中的最后一个元素吗?我是这样做的:

for j in range (3):
    print(j[2:])      # I only wish to print 2 here
Run Code Online (Sandbox Code Playgroud)

但它说

类型错误:“int”对象不可下标

你能告诉我如何用这个范围函数来得到它吗?

python indexing range elements

2
推荐指数
1
解决办法
1万
查看次数

在python中将相同字典键的值放在一组中

我有两个清单:

list1=[0,0,0,1,1,2,2,3,3,4,4,5,5,5]
list2=['a','b','c','d','e','f','k','o','n','q','t','z','w','l']

dictionary=dict(zip(list1,list2))
Run Code Online (Sandbox Code Playgroud)

我想为每个键输出相同键的值,例如它将像这样打印:

 0 ['a','b','c']  
 1 ['d','e']  
 2 ['f','k']  
 3 ['o','n']  
 4 ['q','t']  
 5 ['z','w','l'] 
Run Code Online (Sandbox Code Playgroud)

我编写了以下代码来做到这一点,但它并不像我想象的那样工作

for k,v in dictionary.items():  

     print (k,v)
Run Code Online (Sandbox Code Playgroud)

您能告诉我如何修复代码,以便我可以获得高于预期的结果吗?提前致谢!

python iteration dictionary list key-value

2
推荐指数
1
解决办法
1906
查看次数

Python字典打印所有键的所有值

我有两个python列表:

keys=[1,2,2,3,2,3]
values=['apple','book','pen','soccer','paper','tennis']
Run Code Online (Sandbox Code Playgroud)

"键"是"值"列表中相应单词的簇ID列表.我希望使用打印键值对

keys=[1,2,2,3,2,3]
values=['apple','book','pen','soccer','paper','tennis']

dictionary = dict(zip(keys, values))
for key, value in dictionary.items() :
    print (key, value)
Run Code Online (Sandbox Code Playgroud)

但它只打印

1 apple
2 paper
3 tennis
Run Code Online (Sandbox Code Playgroud)

我真正想要的是获得所有这些键的所有值

1 [apple]
2 [book,pen,paper]
3 [soccer,tennis]
Run Code Online (Sandbox Code Playgroud)

我知道我的当前代码应该逻辑上打印第一个输出,因为键是唯一的.但是如何更改它以便打印所有键的所有值?先感谢您!

python dictionary list key-value

2
推荐指数
1
解决办法
2830
查看次数

基于另一列的唯一值的列总和

我有一个数据框

Column1  Column2
1          20
2          25
3          30
2          40
4          18
1          24
Run Code Online (Sandbox Code Playgroud)

我想基于Column1的唯一值对Column2求和。我们可以使用以下方式根据特定值(例如1)找到和:

df.loc[df['Column1'] == 1, 'Column2'].sum()
Run Code Online (Sandbox Code Playgroud)

正确地给了我们44。但是,我们如何对Column1中的所有唯一值执行此操作,从而产生该值

Column1  Column2
1          44
2          65
3          30
4          18
Run Code Online (Sandbox Code Playgroud)

python sum dataframe pandas

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