小编Eug*_*ash的帖子

与关键字/标准库冲突的变量名称的公认约定

我有一个函数,我将 adatetime.datetimeobject 作为参数。假设我还想要一个需要命名的参数break或非常相似的参数。我显然不能break在不抛出SyntaxError.

为避免与标准 Python 库名称或关键字发生冲突,最广为接受的重命名约定是什么?

python naming-conventions

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

列表/元组的元素的xor

我有一个'0'和的元组'1',我想要它的所有元素的xor.例如,如果我有('0', '1', '1', '0'),我想获得((0 xor 1) xor 1) xor 0.

我有以下(工作)片段:

bit = ('0', '1', '0', '1', '0', '1', '0')
out = bit[0]
for i in range(1, len(bit)):
    out = int(out) ^ int(bit[i])
print str(out)
Run Code Online (Sandbox Code Playgroud)

我怎么能用更pythonic ay(使用map和lambda函数?)

python xor

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

itertools产品不应包含具有重复值的组合

我正在尝试创建组合.示例代码如下:

a = [1, 2, 3], [1, 4, 5]
combinations = list(itertools.product(*a))
Run Code Online (Sandbox Code Playgroud)

输出:

[(1, 1), (1, 4), (1, 5), (2, 1), (2, 4), (2, 5), (3, 1), (3, 4), (3, 5)]
Run Code Online (Sandbox Code Playgroud)

我不需要组合(1,1).我已经尝试过以下代码:

for comb in combinations:
    if comb[0] == comb[1]:
        combinations.remove(comb)
Run Code Online (Sandbox Code Playgroud)

但是因为我必须在大数据上执行此操作.花了太多时间.

组合的元素也应该等于列表中的项目数.例如:a = [1,2,3], [2,3,7],[4,5,1] 每个组合中的元素都是3,就像(1,2,4)

请建议一种避免这种组合的方法.

python combinations list

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

我怎样才能在Perl中保佑一个字符串?

我试图祝福一个字符串变量 - 在下面的代码中演示.当我使用哈希或数组时,Bless似乎只能工作.你被允许保佑弦乐吗?如果不是,你有什么可以祝福的?我已经调试了一段时间,任何帮助将不胜感激.:-)如果我在代码中出错,请告诉我它是什么.

这是一个perl文件.代码未完成,但它从未到达"页面结束"语句.所以我不再延长它.$ FileInfo是一个早先从文件中读取的数组,但是由于语法在这里乱码.

这是调用构建ojbect引用

$page = new GeneratePages(0);

package GeneratePages;  
sub new  
{  
    my $class = shift;  
    my $pageContents = $FileInfo[shift];  
    bless $pageContents, $class;  
    return $pageContents;  
}
Run Code Online (Sandbox Code Playgroud)

perl bless

2
推荐指数
1
解决办法
643
查看次数

这是Perl在解释中的错误吗?

 11 package C;
 12 $_ = 5;
 13 print "$_\n$C::_\n$::_\n";
Run Code Online (Sandbox Code Playgroud)

输出:

5

5
Run Code Online (Sandbox Code Playgroud)

我们知道$_Perl中的一个超全局变量,但为什么第一次赋值给这个变量会导致同时赋值$::_

UPDATE

package C;
$_ = 5;
print "$_\n$C::_\n$::_\n";
package main;
print "####in main::\n";
$_ = 2;
print "$_\n$::_\n";
package A;
our $_ = 1;
$_ = 4;
print "####in A::\n";
print "$_\n$::_\n$A::_\n";
print "####in B::\n";
package B;
$_ = 3;
print "| $_ | \n
        |$::_ | \n
        |$B::_\n";
Run Code Online (Sandbox Code Playgroud)

在最后print,你可以看到,$_并且$::_是不同的.

| 3 |

        |2 …
Run Code Online (Sandbox Code Playgroud)

variables perl

2
推荐指数
1
解决办法
178
查看次数

perl -d中x和p之间有什么区别?

  x|m expr       Evals expr in list context, dumps the result or lists methods.
  p expr         Print expression (uses script's current package).
Run Code Online (Sandbox Code Playgroud)

它们看起来和我一模一样,有什么不同?

另外,在shell环境中是否有像上/下箭头键那样的捷径?

debugging perl

2
推荐指数
1
解决办法
191
查看次数

如何限制调用函数的失败尝试次数?

如何以pythonic方式重写此代码?

tried = 0

while tried < 3:
    try:
        function()
        break
    except Exception as e:
        print e
        tried += 1    
Run Code Online (Sandbox Code Playgroud)

我可以使用内置功能吗?

python python-2.x

2
推荐指数
1
解决办法
131
查看次数

如何从Python字典值中找到常用项?

说,我有一本字典D:

D = {'A': {1, 2, 3}, 'B': {2, 4, 5}, 'C': {1, 2, 7}}
Run Code Online (Sandbox Code Playgroud)

现在我希望得到所有常用项目D的值,这将是2.我试图使用,set.intersection但它没有成功.

python set

2
推荐指数
1
解决办法
1284
查看次数

如何从字符串列表中提取数字?

我应该如何仅从中提取数字

a = ['1 2 3', '4 5 6', 'invalid']
Run Code Online (Sandbox Code Playgroud)

我试过了:

mynewlist = [s for s in a if s.isdigit()]
print mynewlist
Run Code Online (Sandbox Code Playgroud)

for strn in a:
    values = map(float, strn.split())
print values
Run Code Online (Sandbox Code Playgroud)

两者都失败了,因为数字之间有空格。

注意:我试图实现输出为:

[1, 2, 3, 4, 5, 6]
Run Code Online (Sandbox Code Playgroud)

python string python-2.x

2
推荐指数
1
解决办法
1万
查看次数

Python:如何编写虚拟环境构建和激活脚本?

我想写一个做3件事的python脚本:

  1. 使用python3构建虚拟环境
  2. 激活此新的虚拟环境。(bash:来源myvirtenv / bin / acticate)
  3. 使用requirements.txt安装软件包(bash:pip install -r)

在我的项目中,我使用常规的virtualenviroment软件包。我必须在Debian机器上做

我试图模仿bash命令,os.system() 但没有使用下面的代码来实现。

import os
os.system('python3 -m venv test6_env')
os.system('source test6_env/bin/activate')
os.system('pip install -r requirements.txt --user')
Run Code Online (Sandbox Code Playgroud)

问题问题virtualenv将不会激活,并且未安装要求。

有没有一个简单的技巧可以在python这3步中很好地编写脚本?

python virtualenv setup-deployment python-3.x

2
推荐指数
1
解决办法
1458
查看次数