小编Thi*_*iru的帖子

什么是关键= lambda

使用一些内置函数,如sorted,sum ...我注意到了它的用法 key=lambda

什么是lambda?它是如何工作的?

还有哪些函数使用key = lambda?

还有其他关键值,比如 key=?

python lambda key

44
推荐指数
3
解决办法
7万
查看次数

StringBuilder.ToString()抛出OutOfMemoryException

我创建了一个StringBuilder长度"132370292",当我尝试使用ToString()它抛出的方法获取字符串OutOfMemoryException.

StringBuilder SB = new StringBuilder();

for(int i =0; i<=5000; i++)
{
    SB.Append("Some Junk Data for testing. My Actual Data is created from different sources by Appending to the String Builder.");
}

try
{
    string str = SB.ToString(); // Throws OOM mostly
    Console.WriteLine("String Created Successfully");
}
catch(OutOfMemoryException ex)
{
    StreamWriter sw = new StreamWriter(@"c:\memo.txt", true);
    sw.Write(SB.ToString()); //Always writes to the file without any error
    Console.WriteLine("Written to File Successfully");
}
Run Code Online (Sandbox Code Playgroud)

创建新字符串时OOM的原因是什么?为什么在写入文件时它不会抛出OOM?

机器详细信息:64位,Windows-7,2GB RAM,.NET 2.0版

c# stringbuilder tostring streamwriter .net-2.0

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

数组列表的python最大值

我有一个数组列表,如:

a = [array([6,2]),array([8,3]),array([4,2])]
Run Code Online (Sandbox Code Playgroud)

我试过max(a)它返回以下错误:

ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
Run Code Online (Sandbox Code Playgroud)

我希望它返回一个列表或数组,如:

In: max(a)
Out: [8,3]
Run Code Online (Sandbox Code Playgroud)

我不想将内部数组转换为列表,因为列表的大小非常大。我也故意创建这样的来执行数组操作。

python arrays list max

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

numpy loadtxt单行/行作为列表

我有一个只有一行的数据文件,如:

 1.2  2.1  3.2
Run Code Online (Sandbox Code Playgroud)

我使用numpy版本1.3.0 loadtxt加载它

 a,b,c = loadtxt("data.dat", usecols(0,1,2), unpack=True)
Run Code Online (Sandbox Code Playgroud)

输出是浮点而不是数组

 a = 1.2
Run Code Online (Sandbox Code Playgroud)

我希望它会是:

 a = array([1.2])
Run Code Online (Sandbox Code Playgroud)

如果我读了一个包含多行的文件,它就可以了.

python arrays numpy

7
推荐指数
2
解决办法
4191
查看次数

python汇总列表的值

我有列表列表,我需要总结内部列表,例如,

a = [[1,2,3], [2,1,4], [4,3,6]]
Run Code Online (Sandbox Code Playgroud)

对于我的情况,a [i]的len是相同的,即所有内部列表都具有相同的维度.

我需要输出为

result = [6,7,13]
Run Code Online (Sandbox Code Playgroud)

我做的是:

result = [sum(a[i]) for i in range(len(a))]
Run Code Online (Sandbox Code Playgroud)

由于我的len(a)非常高,我希望有一种替代方法来获得结果而不使用for循环.

python sum list

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

在Django中使用formset_factory

我是Django的新用户,我使用以下代码生成表单

class GetMachine(forms.Form):
    Machine_Name = forms.CharField(max_length=20) 
    Number_of_lines = forms.IntegerField(max_value=10)

class GetLine(forms.Form):
    Line_name = forms.CharField(max_length=20)

def install(request):
    if request.method == 'POST':
        form = GetMachine(request.POST) 
        if form.is_valid(): # All validation rules pass
            # Process the data in form.cleaned_data
            form = GetLine()
            return render_to_response('install.html', { 'form': form, })
    else:
        form = GetMachine() # An unbound form

    return render_to_response('install.html', { 'form': form, })    
Run Code Online (Sandbox Code Playgroud)

如何修改上面的代码,使得"Number_of_lines"用于创建n个"Line_Name"表单字段.

例如,如果Number_of_lines的值为2,我再次要求用户输入两行的名称

第1行的名称:

第2行的名称:

python django django-forms

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

Django:如何使用formset extra更改标签?

我使用formset产生额外的字段,但是我不知道如何更改formset产生的额外字段的标签。

我的代码:

class GetMachine(forms.Form):
    Number_of_Lines = forms.IntegerField(max_value=4)

class GetLine(forms.Form):
    beamline_name = forms.CharField(max_length=15, label='Name of Beamline-%i')

def install(request):
    MachineFormSet = formset_factory(GetMachine, extra=1)
    formset = MachineFormSet()
    if request.method == 'POST':
#        formset = MachineFormSet(request.POST) 
#        if formset.is_valid(): # All validation rules pass
        line_no = request.POST['form-0-Number_of_Lines']
        GetLineFormSet = formset_factory(GetLine, extra=int(line_no))
        formset = GetLineFormSet()
        return render_to_response('install.html', { 'formset': formset, 'action': 'step1'})
    return render_to_response('install.html', { 'formset': formset, })    
Run Code Online (Sandbox Code Playgroud)

install.html模板:

{% for form in formset.forms %}
{% for field in form %}
    <tr>
        <td>{{ field.label_tag }}</td> …
Run Code Online (Sandbox Code Playgroud)

python django django-forms formset

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

代码和程序有什么区别?

代码和程序有什么区别?

从词汇上来说

代码是计算机程序中数据或指令或此类指令集的符号排列

程序是计算机可以解释和执行的指令序列。

这些在上下文中是多么不同。

例如,存在一些模拟代码,它实际上是一组程序。

解释代码和程序的实际含义的线索是什么?

coding-style

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