小编roo*_*kie的帖子

从列表L创建(L [i],L [i + 1])元组列表

假设我们有一个清单L = [1,2,3,4,5].是否有一种干净的方法来制作以下形式的元组列表:T = [(1,2),(2,3),(3,4),(4,5)]

如果有更好的替代方案,那就太好了

    T = []
    for i in range(len(L) - 1):
        T.append((L[i], L[i+1]))
Run Code Online (Sandbox Code Playgroud)

或者等同的理解.

python

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

Python:用两个变量理解lambda表达式

在查找计算列表产品的简明方法的同时,我对此响应感到有些困惑.这是有问题的代码:

reduce(lambda x,y:x*y,[3,4,5])

有人可以解释为什么这有效吗?我熟悉使用lambda涉及一个变量的表达式(例如,当使用自定义比较函数进行排序时),但我很困惑为什么以及如何工作.

python lambda

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

Python:列表列表__getitem__

我已经创建了Board一个连接4游戏的类,它使用列表列表.我想让对象支持索引板的行和列:

class Test:
    def __init__(self, cols, rows):
        self.cols = cols
        self.rows = rows
        self.data = [[' '] * cols for row in range(rows)]

    def __iter__(self):
        yield from self.data

    def __getitem__(self, row):
        pass
        # what should this be?
Run Code Online (Sandbox Code Playgroud)

我知道我需要定义__getitem__但是这个方法应该允许什么语法b[1][1]?我已经看了一些过去的问题,但我似乎无法找到我正在寻找的答案.

编辑:也许以下是正确的做事方式?

def __getitem__(self, row):
    return self.data[row]
Run Code Online (Sandbox Code Playgroud)

python

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

尽管GetEnumerator和foreach运行良好,为什么我不能使用OrderBy?

我已经GetEnumerator为一个简单的类实现了这个方法,并且很惊讶我无法使用linq命令枚举器(调用this.OrderBy(x => x)无效).有人可以解释一下这里发生了什么吗?我做错了什么或只是想要迭代的调查员?

class Test
{
    private Dictionary<int, string> dict
        = new Dictionary<int, string>();

    public IEnumerator<int> GetEnumerator()
    {
        return dict.Keys.GetEnumerator();
    }

    public Test()
    {
        dict[1] = "test";
        dict[2] = "nothing";
    }

    public IEnumerable<int> SortedKeys
    {
        get { return this.OrderBy(x => x); } // illegal!
    }

    public void Print()
    {
        foreach(var key in this)
            Console.WriteLine(dict[key]);
    }
}
Run Code Online (Sandbox Code Playgroud)

c# linq enumerator

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

C#中的字符串连接与DateTime对象:为什么我的代码合法?

在我正在处理的一些C#代码中,一个DateTimeobject(dt)与两个字符串连接在一起:

string test = "This is a test " + dt + "...Why does this work?"
Run Code Online (Sandbox Code Playgroud)

这不会引发编译错误,并且工作正常.我的问题:为什么这是合法的?这是仅特定于DateTime对象,还是覆盖该ToString()方法的任何对象?

c# concatenation

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

Python OOP:将方法放入类中效率低下?

我通常使用类似于人们可能使用的类namedtuple(当然除了属性是可变的).此外,我尝试将冗长的函数放在不经常实例化的类中,以帮助节省内存.

从内存的角度来看,如果期望经常实例化类,那么将函数放在类中是否效率低?撇开这是分隔功能的好设计,这应该是值得担心的吗?

python oop

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

Scala:理解:::运算符

是否将list1 ::: list2操作符应用于两个列表对应于将所有内容附加list1list2

scala> val a = List(1,2,3)
a: List[Int] = List(1, 2, 3)

scala> val b = List(4,5,6)
b: List[Int] = List(4, 5, 6)

scala> a:::b
res0: List[Int] = List(1, 2, 3, 4, 5, 6)
Run Code Online (Sandbox Code Playgroud)

这个运营商还有其他用途吗?我:::在Scala文档中找不到任何内容,我想知道它的正式名称和用途的范围.

scala

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

使用反射查找所有属性引用

给定一个属性

class Test
{
    private string name;
    public string Name
    {
        get { return name; }
        set { name = value;}
    }
}
Run Code Online (Sandbox Code Playgroud)

有没有办法使用反射来查找程序集中的所有get/set引用?例如,如果某些测试代码正在使用此属性,如下所示

class Client 
{
    private Test test = new Test();

    public string Name = test.Name;
}
Run Code Online (Sandbox Code Playgroud)

反射可以找到Client调用get方法Test.Name吗?我可以打开我的 IDE 并执行“查找所有引用”,但我想知道这是否可以自动化。

c# reflection

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

SQL:将+分隔列表转换为整数

我们的数据库中有一个包含一列+分隔字符串的表.无论如何选择每一行的总和?即,说我们有5212667+5212662; 我想选择10425329.

我试过了CONVERT(INT, ColumnAddList),但这没用.

sql t-sql sql-server

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

Pydantic - 递归创建模型?

我尝试按如下方式使用 Pydantic:

from pydantic import BaseModel


class A(BaseModel):
  prop1: str
  prop2: str


class B(BaseModel):
  a: A


data = {
  'prop1': 'some value',
  'prop2': 'some other value'
}


b = B(**data)
Run Code Online (Sandbox Code Playgroud)

这给了我以下错误:

Traceback (most recent call last):
  File "main.py", line 18, in <module>
    b = B(**data)
  File "pydantic/main.py", line 283, in pydantic.main.BaseModel.__init__
pydantic.error_wrappers.ValidationError: 1 validation error for B
a
  field required (type=value_error.missing)
Run Code Online (Sandbox Code Playgroud)

pydantic 是否可以创建所需的A实例B

python pydantic

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

标签 统计

python ×5

c# ×3

concatenation ×1

enumerator ×1

lambda ×1

linq ×1

oop ×1

pydantic ×1

reflection ×1

scala ×1

sql ×1

sql-server ×1

t-sql ×1