程序设计

专业和发烧友程序员的问答


12
在Python中连接字符串的首选方法是什么?
由于string无法更改Python ,因此我想知道如何更有效地连接字符串? 我可以这样写: s += stringfromelsewhere 或像这样: s = [] s.append(somestring) later s = ''.join(s) 在写这个问题时,我找到了一篇很好的文章,谈论这个话题。 http://www.skymind.com/~ocrow/python_string/ 但是它在Python 2.x中,所以问题是在Python 3中会有所改变吗?


16
如何在字符串的末尾和/或开头保留空格?
我必须将资源/值文件中的这两个字符串连接起来: <string name="Toast_Memory_GameWon_part1">you found ALL PAIRS ! on </string> <string name="Toast_Memory_GameWon_part2"> flips !</string> 我这样做: String message_all_pairs_found = getString(R.string.Toast_Memory_GameWon_part1)+total_flips+getString(R.string.Toast_Memory_GameWon_part2); Toast.makeText(this, message_all_pairs_found, 1000).show(); 但是第一个字符串结尾处和第二个字符串开头处的空格已经消失(当显示Toast时)... 我该怎么办 ? 我猜答案在此文档链接中的某处 还是像使用&amp ;“&”字符?

19
检查数组是否为空或存在
首次加载页面时,我需要检查其中是否有图像image_array并加载最后一张图像。 否则,我将禁用预览按钮,提醒用户按下新图像按钮,并创建一个空数组来放置图像; 问题是,image_array在else火灾所有的时间。如果存在数组-它将覆盖它,但警报不起作用。 if(image_array.length > 0) $('#images').append('<img src="'+image_array[image_array.length-1]+'" class="images" id="1" />'); else{ $('#prev_image').attr('disabled', 'true'); $('#next_image').attr('disabled', 'true'); alert('Please get new image'); var image_array = []; } 更新在加载html之前,我有类似以下内容: <?php if(count($images) != 0): ?> <script type="text/javascript"> <?php echo "image_array = ".json_encode($images);?> </script> <?php endif; ?>
358 javascript  jquery 

2
如何旋转数据框
什么是支点? 我如何枢纽? 这是支点吗? 长格式到宽格式? 我已经看到很多有关数据透视表的问题。即使他们不知道他们在询问数据透视表,通常也是如此。几乎不可能写出涵盖枢纽各个方面的规范问答。 ...但是我要去尝试一下。 现有问题和答案的问题在于,问题通常集中在OP难以推广的细微差别上,以便使用许多现有的良好答案。但是,没有一个答案试图给出全面的解释(因为这是一项艰巨的任务) 从我的Google搜索中查找一些示例 如何在Pandas中透视数据框? 好问题和答案。但是答案只回答了很少的具体问题。 熊猫数据透视表到数据框 在此问题中,OP与枢轴的输出有关。即列的外观。OP希望它看起来像R。这对熊猫用户不是很有帮助。 旋转数据框的熊猫,重复的行 另一个不错的问题,但答案集中在一种方法上,即 pd.DataFrame.pivot 因此,每当有人搜索时,pivot他们都会得到零星的结果,这些结果可能不会回答他们的特定问题。 设定 您可能会注意到,我显眼地命名了我的列和相关的列值,以与我将在下面的答案中介绍的方式相对应。 import numpy as np import pandas as pd from numpy.core.defchararray import add np.random.seed([3,1415]) n = 20 cols = np.array(['key', 'row', 'item', 'col']) arr1 = (np.random.randint(5, size=(n, 4)) // [2, 1, 2, 1]).astype(str) …

10
如何传递prepareForSegue:一个对象
我在地图视图中有很多注释(带有rightCalloutAccessory按钮)。该按钮将从此按钮执行mapview到一个按钮tableview。我想tableview根据单击哪个标注按钮来传递一个不同的对象(保存数据)。 例如:(全部组成) 注解1(Austin)->传递数据obj 1(与Austin相关) 注解2(达拉斯)->传递数据obj 2(与达拉斯相关) 注解3(休斯敦)->传递数据obj 3,依此类推...(你明白了) 我能够检测到单击了哪个标注按钮。 我正在使用prepareForSegue:将数据obj传递到目的地ViewController。由于无法进行此调用,因此无法为我需要的数据obj加上额外的参数,因此有什么优雅的方法可以实现相同的效果(动态数据obj)? 任何提示将不胜感激。

8
静态和非静态初始化代码块有什么区别
我的问题是关于static关键字的一种特殊用法。可以使用static关键字来覆盖不属于任何函数的类中的代码块。例如,以下代码编译: public class Test { private static final int a; static { a = 5; doSomething(a); } private static int doSomething(int x) { return (x+5); } } 如果删除static关键字,它将抱怨,因为变量a是final。但是,可以同时删除final和static关键字并进行编译。 这两种方式都使我感到困惑。我应该如何拥有不属于任何方法的代码段?如何调用它?通常,此用法的目的是什么?或者更好的是,在哪里可以找到有关此文件的文档?

8
console.dir和console.log有什么区别?
在Chrome中,该console对象定义了两种似乎可以完成相同操作的方法: console.log(...) console.dir(...) 我在网上阅读过某个地方,该地方dir在记录对象之前先获取了对象的副本,而log只是将引用传递给控制台,这意味着到您检查记录的对象时,它可能已更改。但是,一些初步测试表明,两者没有什么区别,而且它们都可能以与记录时不同的状态显示对象。 在Chrome控制台(Ctrl+ Shift+ J)中尝试此操作,以了解我的意思: > o = { foo: 1 } > console.log(o) > o.foo = 2 现在,展开[Object]下面的log语句,注意它显示foo的值为2。如果使用dir代替重复实验,则同样如此log。 我的问题是,为什么这两个看似相同的功能存在console?


30
列出N以下所有素数的最快方法
这是我能想到的最好的算法。 def get_primes(n): numbers = set(range(n, 1, -1)) primes = [] while numbers: p = numbers.pop() primes.append(p) numbers.difference_update(set(range(p*2, n+1, p))) return primes >>> timeit.Timer(stmt='get_primes.get_primes(1000000)', setup='import get_primes').timeit(1) 1.1499958793645562 可以使它更快吗? 此代码有一个缺陷:由于numbers是无序集合,因此不能保证numbers.pop()从集合中删除最低的数字。但是,它对某些输入数字有效(至少对我而言): >>> sum(get_primes(2000000)) 142913828922L #That's the correct sum of all numbers below 2 million >>> 529 in get_primes(1000) False >>> 529 in …

5
Javascript .map文件-JavaScript源地图
最近,我看到.js.map一些JavaScript库(例如Angular)附带了具有扩展名的文件,这在我脑海中引发了几个问题: 这是为了什么 为什么Angular的员工会关心传递.js.map文件? 我(作为JavaScript开发人员)如何使用该angular.min.js.map文件? 我应该关心.js.map为JavaScript应用程序创建文件吗? 如何创建?我看了一下,angular.min.js.map里面充满了格式奇怪的字符串,所以我认为它不是手动创建的。

10
JavaScript惯用语的基础是什么:var self = this?
我在WebKit HTML 5 SQL Storage Notes Demo的源代码中看到了以下内容: function Note() { var self = this; var note = document.createElement('div'); note.className = 'note'; note.addEventListener('mousedown', function(e) { return self.onMouseDown(e) }, false); note.addEventListener('click', function() { return self.onNoteClick() }, false); this.note = note; // ... } 笔者采用自我在一些地方(函数体)及本在其他地方(的函数方法的参数列表中定义的机构)。这是怎么回事?既然我已经注意到它了,我是否会开始到处看到它?

16
为什么要避免在JavaScript中使用递增(“ ++”)和递减(“-”)运算符?
jslint工具的提示之一是: ++和- 已知++(递增)和-(递减)运算符会通过鼓励过多的技巧而导致不良代码。在支持病毒和其他安全威胁方面,它们仅次于错误的体系结构。有一个plusplus选项禁止使用这些运算符。 我知道像这样的PHP构造$foo[$bar++]可能很容易导致一次错误的错误,但是我找不到比a while( a < 10 ) do { /* foo */ a++; }或更好的方法来控制循环for (var i=0; i<10; i++) { /* foo */ }。 jslint是否突出显示它们,是因为有些相似的语言缺少“ ++”和“ --”语法或以不同的方式处理它,还是有其他理由避免我可能会丢失“ ++”和“ --”?

30
未经授权的ADB Android设备
由于我重新安装了Eclipse(仅删除并再次下载了它),因此无法在Samsung Galaxy i9001(使用CyanogenMod-Android 4.4.2)上调试应用程序。重新安装之前,它工作正常。 拔出/插入,取消选中/选中“调试已启用”,adb kill-server / adb启动服务器,重启电话/计算机对我不起作用。在设备上,授权对话框永远不会出现(但我记得该对话框在重新安装之前出现了)。我不知道如何强制显示此授权对话框。.android目录中没有abd_key.pub文件。当我尝试读取CPU信息时,DDMS会说: [2014-04-15 12:47:06 - DDMS] device unauthorized. Please check the confirmation dialog on your device. 有任何想法吗?是否可以在没有确认对话框的情况下手动生成密钥? USB连接 无线连接

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.