使用一些内置函数,如sorted,sum ...我注意到了它的用法 key=lambda
什么是lambda?它是如何工作的?
还有哪些函数使用key = lambda?
还有其他关键值,比如 key=?
我创建了一个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版
我有一个数组列表,如:
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)
我不想将内部数组转换为列表,因为列表的大小非常大。我也故意创建这样的来执行数组操作。
我有一个只有一行的数据文件,如:
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)
如果我读了一个包含多行的文件,它就可以了.
我有列表列表,我需要总结内部列表,例如,
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循环.
我是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行的名称:
我使用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) 代码和程序有什么区别?
从词汇上来说
代码是计算机程序中数据或指令或此类指令集的符号排列
程序是计算机可以解释和执行的指令序列。
这些在上下文中是多么不同。
例如,存在一些模拟代码,它实际上是一组程序。
解释代码和程序的实际含义的线索是什么?