我有一个列表清单如下.
LED = [[255, 255, 255], [135, 234, 111], [244, 75, 128]]
Run Code Online (Sandbox Code Playgroud)
您可能已经猜到这些是许多LED的红色/绿色/蓝色值,我希望它们在这个结构中,因为我可以通过索引来解决代码中的每个成员.所以我可以简单地通过在列表中为该项目写入新的vaules来改变LED [1]的值.
然而,当谈到写出来时,我想要一个列表而不是列表列表.所以我有
For x in range (0, NumLED):
LEDs = LEDs + LED[x]
Run Code Online (Sandbox Code Playgroud)
哪个会给
LEDs = [255, 255, 255, 135, 234, 111, 244, 75, 128]
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法来做到这一点而不是循环,对于3个LED它很好但是对于数百个列表我想要更新LED条>每秒24次(并且代码中还有其他事情)所以任何效率连接这个并保存几个周期会很棒.
编辑.
我测试了使用sugested方法的时间
python -mtimeit -s'l=[[1,2,3],[4,5,6], [7], [8,9]]*99' 'sum(l, [])'
100 loops, best of 3: 5.79 msec per loop
python -mtimeit -s'l=[[1,2,3],[4,5,6], [7], [8,9]]*99' '[item for sublist in l for item in sublist]'
1000 loops, best of 3: 308 usec per loop …Run Code Online (Sandbox Code Playgroud) 玩excel并想出了这个错误
Sub Split()
Dim txt As String
Dim x As Variant
txt = Sheets("Raw").Cells(2, 2).Value
MsgBox (txt)
x = Split(txt, ",")
For Each i In x
MsgBox (i)
Next
Run Code Online (Sandbox Code Playgroud)
给我一个split函数的两个参数的错误
然而
Sub Split()
Dim txt As String
Dim x As Variant
txt = Sheets("Raw").Cells(2, 2).Value
MsgBox (txt)
x = VBA.Split(txt, ",")
For Each i In x
MsgBox (i)
Next
Run Code Online (Sandbox Code Playgroud)
工作得很好?
所以最新情况,我确信我之前已经使用了拆分而不需要vba.字首?
干杯
亚伦
我希望有人可以看看并为我整理一下; 我不得不说错误处理不是我的强点.我有下面的代码块,我一直在玩一些错误句柄,但它不是我真的想要它.
我要做的是确保如果在任何时候出现错误,我打开的工作簿和excel实例将正常关闭.
我相信有更多更好,更简单的方法来实现这一点,而不是我想出的.
Sub QOScode()
On Error GoTo Fail
Dim app As New Excel.Application
app.Visible = False 'Visible is False by default, so this isn't necessary
Dim book As Excel.Workbook
Set book = app.Workbooks.Add(ActiveWorkbook.Path & "\QOS DGL stuff.xlsx")
'set up error handeling so if any thing happens the instance of excel with QOS sheets is closed gracefully
On Error GoTo Closebook
' MsgBox book.Sheets("ACLS").Cells(3, 3)
'Do what you have to do
'
Closebook:
On Error Resume Next
book.Close SaveChanges:=False …Run Code Online (Sandbox Code Playgroud) public void DoPing(object state)
{
string host = state as string;
m_lastPingResult = false;
while (!m_pingThreadShouldStop.WaitOne(250))
{
Ping p = new Ping();
try
{
PingReply reply = p.Send(host, 3000);
if (reply.Status == IPStatus.Success)
{
m_lastPingResult = true;
}
else
{
m_lastPingResult = false;
}
}
catch
{
}
numping = numping + 1;
}
}
Run Code Online (Sandbox Code Playgroud)
知道为什么这段代码会导致内存泄漏吗?我可以看到这段代码将等待值更改为更小或更大的值会增加内存使用率。有谁知道如何解决它?或者如何查看代码的哪一部分导致了它?
嗨,我试图返回数组部分的平均值,当数组设置为
$multi = New-Object 'object[,]' $nucount,($readings + 2 )
and contains "1,4,2,6,3,4,5,nameofitem, cost of item"
Run Code Online (Sandbox Code Playgroud)
我想获得前 7 个元素的平均值,我知道这将始终是前 7 个并且始终是一个数字。在上述情况下,包含数字的元素数量将保存在名为 $readings 的变量中。所以我想要做的总和是将数组中的元素相加到 $readings 值。然后通过 $readings 设备。
我知道整个阵列的这种方式
$Avg = ($array | Measure-Object -Average);
$Avg.Average;
Run Code Online (Sandbox Code Playgroud)
或简单的循环并计算平均购买加减。
但是有没有什么捷径可以做到这一点。我打算使用 ... 运算符
$multi[2,0..$readings] 但我得到一个错误
无法将“System.Object[]”类型的“System.Object[]”值转换为“System.Int32”类型。
如果它可以提供一个短代码来替换
for (x=1 ; $x -eq $readings ; $X++)
{
$sum = $sum + $multi[2,$x]
{
$avg= $sum/$readings
Run Code Online (Sandbox Code Playgroud) 嗨我怎么办下面的?
int z = 1;
string one = "pc";
string two = z.ToString();
//what goes here
Console.Write("Host One:\tSent-{0}\tSuccess-{1}\tFail-{2}", xxxxx.numepings, pc1.numepings_s, pc1.numepings_f);
Console.WriteLine();
Run Code Online (Sandbox Code Playgroud)
所以在我的代码中pc1是一个对象的实例,我可以在行中使用什么//what goes here,然后代替,xxxxx以便我可以从concanatated字符串变量调用实例pc和int 1??