小编tim*_*geb的帖子

如何从字符串列表中的每个字符串中删除最后一个字符

我在列表中有字符串'80010','80030','80050',如

test = ['80010','80030','80050']
Run Code Online (Sandbox Code Playgroud)

如何删除最后一个字符(在这种情况下,每个字符串的最后一个数字是0),这样我最终可以得到另一个列表,其中只包含每个字符串中的前四个数字/字符?所以最终得到类似的东西

newtest = ['8001', '8003', '8005']
Run Code Online (Sandbox Code Playgroud)

我是Python的新手,但我尝试使用if-else语句,附加,使用索引[:-1]等,但似乎没有任何工作,除非我最终删除所有其他零.非常感谢!

python string list

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

无法使用子模块从分支机构检出主分支

我的repo中有一个目录(称之为blah),其中包含一些我从另一个repo(repo-blah)手动复制的文件.有一天,我决定变聪明并将这个blah目录作为一个子模块,这样我就不必在他们改变时手动重新复制文件repo-blah,这样我就可以在我的仓库中对这些文件进行更改并且有一个gitish更新方式repo-blah.

我一直在使用master分支,所以我创建了另一个分支sub-blah-branch,在那里我从索引中删除了blah目录:

$ git rm -r blah
Run Code Online (Sandbox Code Playgroud)

然后为它创建一个子模块:

$ git submodule add uri/to/repo-blah blah
Run Code Online (Sandbox Code Playgroud)

我承诺一切,并确保回购清洁:

$ git status
# On branch sub-blah-branch
nothing to commit (working directory clean)
Run Code Online (Sandbox Code Playgroud)

然后,虽然对所有这些子模块的东西感觉非常酷,但我尝试检查主分支.但我明白了:

$ git checkout master
error: The following untracked working tree files would be overwritten by checkout:
    blah/[every file that I had manually copied from repo-blah]
Please move or remove them before you can switch branches.
Aborting
Run Code Online (Sandbox Code Playgroud)

Pro Git关于子模块的章节告诉我,当从已创建子模块的分支切换时,这些子模块的内容不会自动删除,而是在repo切换分支后变为未跟踪.在这种情况下,我不能切换到 …

git git-submodules

8
推荐指数
1
解决办法
1279
查看次数

使用列表进行逻辑索引

我有一个我正在浏览的程序和本节

temp = [1,2,3,4,5,6]
temp[temp!=1]=0
print temp
Run Code Online (Sandbox Code Playgroud)

如果运行会给出结果:

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

我需要帮助了解导致此结果的代码中发生了什么.

python list

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

对于给定的整数a,找到总和为a的所有唯一正整数组合

不是作业问题.我在这里问题,我遇到了这个问题.有人回答了.我已经尝试了很多来理解使用的递归,但我无法得到它.有人可以向我解释一下吗?

编写一个函数,对于给定的数字,通过使用加法和任何等于或小于此数字且大于零的数字,打印出所有不同的方式来生成此数字.

例如,给定a = 5,我们有以下七种方法来弥补5:

  • 1,1,1,1,1
  • 1,4
  • 1,1,1,2
  • 1,1,3
  • 2,3
  • 1,2,2

该网站的解决方案是在C++中:

void printSeq( int num , int a[] , int len , int s )
{
    if( num <= 0 )
    {
        for( int j = 0 ; j < len ; j++ )
            cout << a[ j ] << "," ;
        cout << endl;

        return;
    }

    for(int i = s ; i <= num ; i++)
    {
        a[ len ] = i;
        printSeq( …
Run Code Online (Sandbox Code Playgroud)

c++ recursion combinations permutation

7
推荐指数
2
解决办法
6688
查看次数

如何正确地将数据发送到打开的Firefox边栏?

我正在尝试将数据发送到侧边栏.我已经看了下面的文档,但是当它已经打开时我无法弄清楚如何正确地将数据发送到条形码.

我目前的方法是保存worker侧边栏附加在全局变量中时得到的对象,但我确信有更好的方法.展示我当前方法的最小例子:

var BARWORKER = undefined;
require("sdk/ui/sidebar").Sidebar({
    id: "mybar",
    url: "./sidebar.html",
    onReady: function (worker) {
        BARWORKER = worker;
    }
});

// lots of code

if (BARWORKER) {
    BARWORKER.port.emit("message", payload);
}

// lots of code
Run Code Online (Sandbox Code Playgroud)

javascript firefox firefox-addon

7
推荐指数
1
解决办法
252
查看次数

从Python中的对象列表中删除对象的最快或最常用的方法

假设我有一个列表L不明物体,O1On了,我想删除另一个对象的引用M,其可以参考的对象之一L,我已经成功使用做到这一点:

L = [ O1, O2, ... On]

...

L = [ j for j in L if j not in [ M ] ]
Run Code Online (Sandbox Code Playgroud)

这是可爱的和惯用的...但我必须做很多,我想知道是否没有其他更惯用的方式,或者如果没有更快的方式.

重要的一点是,对象的列表是未知,并且可能可能不包括要排除的对象.我想避免在可能的情况下扩展或子类化对象.

python performance list

7
推荐指数
1
解决办法
144
查看次数

蟒蛇.参数和返回值

在这个问题上相对较新的Python,我可能会使用一些不正确的术语,并会显示出误解 - 这就是我在这里的原因.

我正在研究Python函数,并试图确保我理解变量的传递和返回方式.

我已经写了这个简单的函数来对列表中的项进行排序

def func_sort_list(NN):
    for w in NN:
        print (w, type(w))

    NN.sort()
    print (NN)

    return (w)
Run Code Online (Sandbox Code Playgroud)

我已将值分配给列表

unsort_letters=['q','w','e','r','t','y']
Run Code Online (Sandbox Code Playgroud)

然后我调用了这个功能

func_sort_list(unsort_letters)
Run Code Online (Sandbox Code Playgroud)

并得到结果

q <class 'str'>
w <class 'str'>
e <class 'str'>
r <class 'str'>
t <class 'str'>
y <class 'str'>
['e', 'q', 'r', 't', 'w', 'y']
'y'
Run Code Online (Sandbox Code Playgroud)

然后,执行后,如果我显示我最初传递给我得到的函数的变量的内容

unsort_letters
['e', 'q', 'r', 't', 'w', 'y']
Run Code Online (Sandbox Code Playgroud)

这是我想要的结果.

以下是对正确发生的事情的解释,以便在编写函数时能够感觉更安全吗?

  1. unsort_letters的原始值['q','w','e',...]是"全局的"?

  2. 通过调用func_sort_list(unsort_letters)我已经将unsort_letters的地址/指针传递给func_sort_list?

  3. NN是函数的一个变量"local",但它包含传递变量的指针/地址,因为列表是可变的,unsort_letters的内容在函数内被更改?

这导致我:

  1. 当我无法在函数中更改传递参数的内容时,是否存在这样的情况,我必须编写如下内容?

    def func_return_only(input_parm):
        result_var = << some processing on input_parm goes here>>
    
    return (result_var)
    
    Run Code Online (Sandbox Code Playgroud)

我必须按如下方式调用以获取var_s中返回值的值.

var_s = …
Run Code Online (Sandbox Code Playgroud)

python parameter-passing python-3.x

7
推荐指数
1
解决办法
1344
查看次数

Pandas:在包含列表的一列中查找最大值

我有一个这样的数据框:

fly_frame:
          day    plcae
0  [1,2,3,4,5]       A
1    [1,2,3,4]       B
2        [1,2]       C
3     [1,2,3,4]      D
Run Code Online (Sandbox Code Playgroud)

如果我想在日列中的每个条目中找到最大值。

例如:

fly_frame:
          day    plcae
0           5       A
1           4       B
2           2       C
3           4       D
Run Code Online (Sandbox Code Playgroud)

我该怎么办?
谢谢你的帮助。

python dataframe pandas

7
推荐指数
2
解决办法
3215
查看次数

除以零时得到无穷大

是否可以将无穷大分配给除以的东西0而不是抛出它ZeroDivisionError

就像一个将无穷大赋给 的函数something/0

python

7
推荐指数
1
解决办法
6580
查看次数

如何在Python中迭代cur.fetchall()

我正在使用Python 3.4中的数据库连接.我的数据库中有两列.

下面是查询,它以两种显示的格式QUERY为我提供了所有数据:

cur.execute(""" select * from filehash """)
data=cur.fetchall()
print(data)
Run Code Online (Sandbox Code Playgroud)

OUTPUT:

[('F:\\test1.py', '12345abc'), ('F:\\test2.py', 'avcr123')]
Run Code Online (Sandbox Code Playgroud)

要遍历此输出,我的代码如下所示

cur.execute(""" select * from filehash """)
data=cur.fetchall()

i=0
j=1

for i,row in data:
    print(row[i])
    print(row[j])
    i=i+1
Run Code Online (Sandbox Code Playgroud)

这给了我以下错误

print(row[i])
TypeError: string indices must be integers
Run Code Online (Sandbox Code Playgroud)

让我知道我们如何处理个人价值观 fetchall()

python python-3.x

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