我的问题是,我有一个如下列表:
someList = [[0,1,2],[3,4,5],[6,7,8]]
Run Code Online (Sandbox Code Playgroud)
我如何获得每个子列表的第一个条目?
我知道我可以这样做:
newList = []
for entry in someList:
newList.append(entry[0])
Run Code Online (Sandbox Code Playgroud)
newList将在哪里:
[0, 3, 6]
Run Code Online (Sandbox Code Playgroud)
但有没有办法做一些事情:
newList = someList[:][0]
Run Code Online (Sandbox Code Playgroud)
?
编辑:
效率非常令人担忧.我实际上正在浏览一个包含超过300000个条目的列表
更新:我在Eric Lippert对另一个问题的回答中偶然发现了这个问题(他引用了这个规范):
其他类型的读写,包括long,ulong,double和decimal,以及用户定义的类型,不保证是原子的.
好了,阅读double是不是原子.这意味着可以在读取中间修改该值,对吧?那么如何以double原子方式读取值?
我注意到有一种价值Interlocked.Read方法long.这对我来说很有意义,因为读取64位值必须需要两个步骤,因此就像其他所有非原子动作一样受到竞争条件的影响.
但目前还没有Interlocked.Read对double价值观,即使System.Double是一个64位的值.
我在我的程序中看到一些奇怪的行为,我的GUI double在文本框中显示,而double其他线程也经常更新,在大多数时间显示正确的值(在200.0附近),然后偶尔随机显示错误值(如-0.08).
也许这是一个线程问题,或者也许是其他问题.但首先我想缩小可能性.那么:正在阅读double线程安全吗?
我想将我的内部应用程序的TEST版本部署到我的测试组,我需要它与当前的LIVE版本并排安装.
我更改了发布选项中的所有内容,但它仍然覆盖了我的LIVE安装.我还需要做什么?我是否必须更改应用程序选项卡上的程序集名称?这甚至是我应该做的事情吗?好像那样会破坏事物.
任何方向都将非常感激.
谢谢,
通常在控制台内,我会查询一个对象
pp obj.methods.sort #or...
pp (obj.methods - Object.methods).sort
Run Code Online (Sandbox Code Playgroud)
在Ruby中,开发人员为方法提供别名是很常见的.我想知道是否有一种识别别名的反射方式,以便我可以显示别名方法,如...
array.aliased_methods #=> {:collect => :map, ...}
Run Code Online (Sandbox Code Playgroud)
这有助于能够准确识别对象可以做多少事情.
我试图将300行从一个文件复制到另一个文件,在源文件中输入"300yy",它说它已经猛拉了300行.
转到目标文件并按p,它会粘贴,但只有前50行.
任何想法为什么它不粘贴300?
我有一个Swing GUI,我在Linux中开发了Netbeans Matisse.由于一些奇怪的原因,当它由root运行时,应用程序的外观和外观看起来不同(实际上看起来更好).
有没有理由呢?谢谢
在SQL Server数据库中,我有一个我对排名感兴趣的值表.
当我执行RANK()OVER(ORDER BY VALUE DESC)作为RANK时,我得到以下结果(在假设的表中):
RANK | USER_ID | VALUE
------------------------
1 | 33 | 30000
2 | 10 | 20000
3 | 45 | 10000
4 | 12 | 5000
5 | 43 | 2000
6 | 32 | NULL
6 | 13 | NULL
6 | 19 | NULL
6 | 28 | NULL
Run Code Online (Sandbox Code Playgroud)
问题是,我不希望VALUE为NULL的行获得排名 - 我需要一些方法将这些排名设置为NULL.到目前为止,搜索网络并没有给我提供如何能够做到这一点的答案.
感谢您的任何帮助,您可以提供.
我有以下我正在尝试将列表/数组发送到MVC控制器方法:
var id = [];
var inStock = [];
$table.find('tbody>tr').each(function() {
id.push($(this).find('.id').text());
inStock.push($(this).find('.stocked').attr('checked'));
});
var params = {};
params.ids = id;
params.stocked = inStock;
$.getJSON('MyApp/UpdateStockList', params, function() {
alert('finished');
});
Run Code Online (Sandbox Code Playgroud)
在我的控制器中:
public JsonResult UpdateStockList(int[] ids, bool[] stocked) { }
Run Code Online (Sandbox Code Playgroud)
两个参数都是空的.
请注意,如果我将参数更改为单个项目
params.ids = 1;
params.stocked = true;
public JsonResult UpdateStockList(int ids, bool stocked) { }
Run Code Online (Sandbox Code Playgroud)
然后它工作正常,所以我不认为这是一个路由问题.
我正在编写一个程序,它会发送电子邮件,并想知道接收方何时收到我发给他的电子邮件.如何使用JavaMail API执行此操作?
如果我使用SMTPMessage,在设置通知选项后如何处理结果?
SMTPMessage smtpMsg = new SMTPMessage(msg);
smtpMsg.setNotifyOptions(SMTPMessage.NOTIFY_SUCCESS);
Run Code Online (Sandbox Code Playgroud)