小编MSe*_*ert的帖子

Python计数元组在列表中出现

有没有办法计算这个标记列表中每个元组出现的次数?

我已经尝试过该count方法,但它不起作用.

这是清单:

['hello', 'how', 'are', 'you', 'doing', 'today', 'are', 'you', 'okay']
Run Code Online (Sandbox Code Playgroud)

这些是基于列表的元组:

('hello', 'how')
('how', 'are')
('are','you')
('you', 'doing')
('doing', 'today')
('today', 'are')
('you', 'okay')
Run Code Online (Sandbox Code Playgroud)

我希望结果是这样的

('hello', 'how')1
('how', 'are')1
('are','you')2
('you', 'doing')1
('doing', 'today')1
('today', 'are')1
('you', 'okay')1
Run Code Online (Sandbox Code Playgroud)

python counter n-gram

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

嵌套for循环:为什么内循环只执行一次?

我对在python中使用double for循环感到困惑,这是我的代码:

import numpy as np

range1 = np.linspace(1,6,10)
range2 = reversed(np.linspace(1,6,10))

for t1 in range1:
    print t1
    for t2 in range2:
        print t1,t2
Run Code Online (Sandbox Code Playgroud)

输出是这样的:

1.0
1.0 6.0
1.0 5.44444444444
1.0 4.88888888889
1.0 4.33333333333
1.0 3.77777777778
1.0 3.22222222222
1.0 2.66666666667
1.0 2.11111111111
1.0 1.55555555556
1.0 1.0
1.55555555556
2.11111111111
2.66666666667
3.22222222222
3.77777777778
4.33333333333
4.88888888889
5.44444444444
6.0
Run Code Online (Sandbox Code Playgroud)

它只对外循环的第一个值执行内循环,为什么会发生这种情况?如何让它循环遍历第一个和第二个变量的所有组合?

python reverse loops for-loop nested

4
推荐指数
3
解决办法
698
查看次数

如何在python中将黑白图像转换为3维数组?

我有RGB格式或灰度格式的图像(例如,我通过Gimp对其进行了转换),现在每次我以灰度级加载图像,或者只是将其转换为灰度格式时,形状始终显示[height,width],而没有第三个尺寸(颜色通道数)。

我知道通常黑白图像都是以这种格式存储的,但是我特别需要[height, width, 1]图像形状,即可以得到的图像形状,例如:

numpy.zeros(shape=[400, 400, 1])
Run Code Online (Sandbox Code Playgroud)

python numpy image image-processing computer-vision

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

根据固定长度填充或截断字符串

目前有类似的代码;

print '{: <5}'.format('test')
Run Code Online (Sandbox Code Playgroud)

' '如果小于5个字符,这将填充我的字符串.如果字符串超过5个字符,我需要截断字符串.

在格式化之前没有明确检查我的字符串的长度,是否有更好的方法来填充小于固定长度或截断如果大于固定长度?

python string string-formatting

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

生成器和文件

我写的时候:

lines = (line.strip() for line in open('a_file'))
Run Code Online (Sandbox Code Playgroud)

文件是立即打开还是仅在我开始使用生成器表达式时才访问文件系统?

python generator generator-expression operator-precedence

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

如何在n代码的c源代码中使用at符号(@)?

我一直在仔细阅读numpy的一些源代码,我注意到很多c源代码都使用了构造@variablename@.例如,在文件"npy_math_complex.c.src"(位于此处):

/*==========================================================
* Constants
*=========================================================*/
static const @ctype@ c_1@c@ = {1.0@C@, 0.0};
static const @ctype@ c_half@c@ = {0.5@C@, 0.0};
static const @ctype@ c_i@c@ = {0.0, 1.0@C@};
static const @ctype@ c_ihalf@c@ = {0.0, 0.5@C@};
Run Code Online (Sandbox Code Playgroud)

做什么@ctype@@c@意味着什么?这些是某种宏吗?我猜他们不是普通的C-macro,因为我查看了文件中列出的相关头文件,他们似乎没有使用"@"定义任何宏.

将c代码编译成python模块时是否@name@使用某种宏distutils

我以前从未见过@c代码中使用过的符号,所以我有点困惑......

c python macros numpy

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

当您尝试在迭代时删除列表元素时会发生什么

我正在迭代一个列表如下:

some_list = [1, 2, 3, 4]
another_list = [1, 2, 3, 4]

for idx, item in enumerate(some_list):
    del some_list[idx]

for item in another_list:
    another_list.remove(item)
Run Code Online (Sandbox Code Playgroud)

当我打印出列表的内容时

>>> some_list
[2, 4]
>>> another_list
[2, 4]
Run Code Online (Sandbox Code Playgroud)

我知道Python不支持修改list迭代它,而正确的方法是迭代列表的副本(所以请不要downvote).但我想知道幕后究竟发生了什么,即为什么输出上面的片段[2, 4]

python for-loop list python-internals

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

如何通过方法使用numba.jit

numba.jit在python中使用。

我可以将普通函数转换为jit类型并运行:

from numba import jit

def sum(a, b):
    return a+b

func = jit(sum)
print(func(1, 2))
Run Code Online (Sandbox Code Playgroud)

如何做到这一点的方法?这样的事情(这不起作用,我知道为什么)。

from numba import jit

class some_class:
    def __init__(self, something = 0):
        self.number = something
    def get_num(self):
        return self.number

my_object = some_class(5)
func = jit(my_object.get_num)
print(my_object.func())
Run Code Online (Sandbox Code Playgroud)

PS我也尝试过装饰器,它可以工作,但是我不能将其用于导入的类(我自己没有定义的类),所以我正在研究这个。

python jit class function-parameter numba

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

线串连接是否不受f字符串支持?

Python 3.6中的f字符串不支持以下语法吗?如果我连接我的f-string,则不会发生替换:

SUB_MSG = "This is the original message."

MAIN_MSG = f"This longer message is intended to contain " \
             "the sub-message here: {SUB_MSG}"

print(MAIN_MSG)
Run Code Online (Sandbox Code Playgroud)

收益:

This longer message is intended to contain the sub-message here: {SUB_MSG}
Run Code Online (Sandbox Code Playgroud)

如果我删除了行连接:

SUB_MSG = "This is the original message."

MAIN_MSG = f"This longer message is intended to contain the sub-message here: {SUB_MSG}"

print(MAIN_MSG)
Run Code Online (Sandbox Code Playgroud)

它按预期工作:

This longer message is intended to contain the sub-message here: This is the original message.
Run Code Online (Sandbox Code Playgroud)

PEP 498,反斜杠中 …

python string python-3.x python-3.6 f-string

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

使用 time.process_time()

我正在尝试计算排序函数需要多长时间,但我正在努力time.process_time()工作。

我目前的设置是:

start = time.process_time()
insertionsort(n)
end = time.process_time()

time = start-end
Run Code Online (Sandbox Code Playgroud)

当我运行它时,我收到此错误:

'float' 对象没有属性 'process_time'

我该如何解决这个问题?我想用time.process_time().

python attributeerror python-3.x

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