小编daw*_*awg的帖子

Javascript的"Home"类似于python.org?

Perl,Ruby,Python,Javascript/ecmascript,PHP在开源,开放文档,多平台​​等方面都很相似.

Perl有 http://www.perl.org
Ruby有 http://www.ruby-lang.org
Python有 http://www.python.org
PHP有http://php.net

是否有与其他语言相同的javascript"主页"?当我说"家"时,我指的是官方文档,规范,语言源代码,示例等的首选地.

javascript reference

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

如何在替换中使用变量作为修饰符

有没有办法在替换中使用变量作为修饰符?

my $search = 'looking';
my $replace = '"find: $1 ="';
my $modifier = 'ee';

s/$search/$replace/$modifier;
Run Code Online (Sandbox Code Playgroud)

我需要使用哈希数组来使用不同的修饰符进行批量搜索替换.

regex variables perl modifier substitution

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

在Python中对列表进行子类化.为什么切片和空列表不起作用?

我对我认为是Python中列表的一个非常简单和直接的子类感到困惑.

假设我想要列表的所有功能.我想在列表的默认集中添加几个方法.

以下是一个例子:

class Mylist(list):

    def cm1(self):
        self[0]=10

    def cm2(self):
        for i,v in enumerate(self):
            self[i]=self[i]+10        

    def cm3(self):
        self=[]         

    def cm4(self):
        self=self[::-1]

    def cm5(self):
        self=[1,2,3,4,5]       

ml=Mylist([1,2,3,4])
ml.append(5)
print "ml, an instance of Mylist: ",ml
ml.cm1()
print "cm1() works: ",ml

ml.cm2()
print "cm2() works: ",ml

ml.cm3() 
print "cm3() does NOT work as expected: ",ml     

ml.cm4()
print "cm4() does NOT work as expected: ",ml     

ml.cm5()
print "cm5() does NOT work as expected: ",ml  
Run Code Online (Sandbox Code Playgroud)

输出:

Mylist:  [1, 2, 3, 4, 5]
cm1() works:  [10, …
Run Code Online (Sandbox Code Playgroud)

python list subclass

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

添加'='对Python中的位运算符有什么作用?(即'<< ='而不是'<<')

这些<<=|=运算符对Python意味着什么?我猜他们是按位运算符.我知道运算符|(按位或)和<<(位移),但我不知道它们与...结合=.

我在这段代码中找到了它.下面的代码属于该代码.

commandout = adcnum
commandout |= 0x18  # start bit + single-ended bit
commandout <<= 3    # we only need to send 5 bits here
for i in range(5):
    if (commandout & 0x80):
        GPIO.output(mosipin, True)
    else:
        GPIO.output(mosipin, False)
    commandout <<= 1
    GPIO.output(clockpin, True)
    GPIO.output(clockpin, False)
Run Code Online (Sandbox Code Playgroud)

python bitwise-operators

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

Swift相当于Python切片赋值

在Python中,可以有一个列表(类似于swift中的数组):

>>> li=[0,1,2,3,4,5]
Run Code Online (Sandbox Code Playgroud)

并在列表的任何/所有列表上执行切片分配:

>>> li[2:]=[99]         # note then end index is not needed if you mean 'to the end'
>>> li
[0, 1, 99]
Run Code Online (Sandbox Code Playgroud)

Swift有一个类似的切片赋值(这在swift交互式shell中):

  1> var arr=[0,1,2,3,4,5]
arr: [Int] = 6 values {
  [0] = 0
  [1] = 1
  [2] = 2
  [3] = 3
  [4] = 4
  [5] = 5
}
  2> arr[2...arr.endIndex-1]=[99]
  3> arr
$R0: [Int] = 3 values {
  [0] = 0
  [1] = 1
  [2] = 99
}
Run Code Online (Sandbox Code Playgroud)

到现在为止还挺好.但是,有几个问题.

首先,swift不适用于空列表,或者索引是否在 …

python arrays performance swift swift2

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

Python list comprehension => Ruby选择/拒绝索引而不是元素

鉴于:

arr=[10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
      0   1   2   3   4   5   6   7   8    9    # index of arr
Run Code Online (Sandbox Code Playgroud)

在Python中,通过组合enumerateif列表理解中的子句,可以选择或拒绝给定该元素索引的列表元素:

除第三项外的所有项目:

>>> [e for i,e in enumerate(arr) if i%3]
[20, 30, 50, 60, 80, 90]
Run Code Online (Sandbox Code Playgroud)

列表中的每三个项目:

>>> [e for i,e in enumerate(arr) if not i%3]
[10, 40, 70, 100]
Run Code Online (Sandbox Code Playgroud)

或者,更简单,有一个切片:

>>> arr[::3]
[10, 40, 70, 100]   
Run Code Online (Sandbox Code Playgroud)

在Ruby中,我们有.select.reject

> arr.each_with_index.reject { |e,i| i%3==0 }
=> [[20, 1], [30, …
Run Code Online (Sandbox Code Playgroud)

ruby arrays

4
推荐指数
2
解决办法
606
查看次数

使用递归函数对整数进行随机播放

一个递归函数,它接受一个整数并对其进行洗牌.从前面抽出一位数字,从后面抽出一位数字,然后从前面抽出第二个数字,从后面抽出第二个数字,依此类推,直到洗牌后的数字与原始数字相同.

例如,123456将打印为162534或130将打印为103.任何帮助将不胜感激.

在字符串上,很容易,需要整数的建议.

A = '130'

def shuffle(A):
    if len(A) <= 2:
        return A
    return (A[0] + A[-1]) + shuffle(A[1:-1])
Run Code Online (Sandbox Code Playgroud)

产量:103

python python-3.x

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

python中的del()vs del语句

>>> li = [1, 2, 3, 4]
>>> li
[1, 2, 3, 4]
>>> del li[2] #case 1
>>> li
[1, 2, 4]
>>> del(li[2])  # case 2
>>> li
[1, 2]
>>> del (li[1]) # case 3
>>> li
[1]
>>>
Run Code Online (Sandbox Code Playgroud)

我的一位教授使用案例2从列表中删除项目.
根据python文档案例1是正确的,并且此答案中还存在另一种语法方式,因此案例3也正确,但据我所知,python中不存在del方法,案例2如何有效.我搜索了整个python文档,但找不到它.

更新: 如果我自己在我的模块中编写del方法并同时使用案例2,python解释器如何区分它们或者它将通过错误,尽管我从未尝试过

python python-3.x

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

Bash =〜在cmd提示符OS X处丢失BASH_REMATCH内容

假设我有一个(愚蠢的例子)脚本:

#!/bin/bash
st="one two three"
[[ $st =~ ^([[:alpha:]]+)[[:space:]]([[:alpha:]]+)[[:space:]]([[:alpha:]]+) ]]
for i in "${BASH_REMATCH[@]}"
do
    echo "$i"
done    
Run Code Online (Sandbox Code Playgroud)

它按预期工作 - 它打印:

one two three
one
two
three
Run Code Online (Sandbox Code Playgroud)

这是每个匹配组的总体匹配.但是,如果我去shell并输入:

$ st="one two three"
$ [[ $st =~ ^([[:alpha:]]+)[[:space:]]([[:alpha:]]+)[[:space:]]([[:alpha:]]+) ]]
$ for i in "${BASH_REMATCH[@]}"
> do
>    echo "$i"
> done
Run Code Online (Sandbox Code Playgroud)

它打印:

w
Run Code Online (Sandbox Code Playgroud)

如果我做

$ [[ $st =~ ^([[:alpha:]]+)[[:space:]]([[:alpha:]]+)[[:space:]]([[:alpha:]]+) ]] && arr=( "${BASH_REMATCH[@]}" )
Run Code Online (Sandbox Code Playgroud)

我然后可以通过副本循环BASH_REMATCHarr显示出比赛的作品确定.但是BASH_REMATCH在Bash 3.2上的交互式shell使用中似乎发生了一些事情.在成功比赛之后.

这是3.2.57(1)-releasemacOS Sierra 10.12.1 的默认设置

如果我启动Bash 4.4,一切正常.

想法? …

macos bash

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

查找数组中一行的最小或最大和

如何快速找到数组中某行元素的最小或最大和?

例如:

1, 2
3, 4
5, 6
7, 8
Run Code Online (Sandbox Code Playgroud)

最小和为第0行(1 + 2),最大和为第3行(7 + 8)

  print mat.shape
  (8, 1, 2)  
  print mat
 [[[-995.40045 -409.15112]]

 [[-989.1511  3365.3267 ]]

 [[-989.1511  3365.3267 ]]

 [[1674.5447  3035.3523 ]]

 [[   0.         0.     ]]

 [[   0.      3199.     ]]

 [[   0.      3199.     ]]

 [[2367.      3199.     ]]]
Run Code Online (Sandbox Code Playgroud)

python numpy

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