小编Rak*_*esh的帖子

如何为列表中的每个唯一val添加计数

假设我有一个清单.

temp = ['A', 'B', 'A', 'B', 'A', 'B']
Run Code Online (Sandbox Code Playgroud)

我正在寻找一种方法来加入里面的字符串计数.

预期产出:

['A_1', 'B_1', 'A_2', 'B_2', 'A_3', 'B_3']
Run Code Online (Sandbox Code Playgroud)

我能够通过使用列表解析来解决它,但我正在寻找一种方法,我不必指定列表[1, 1, 2, 2, 3, 3].可能吗?

[j + "_" + str(i) for i, j in zip([1, 1, 2, 2, 3, 3], temp)]
Run Code Online (Sandbox Code Playgroud)

python string counter list defaultdict

16
推荐指数
2
解决办法
1256
查看次数

使用平方根法求素数

我能够使用这种方式为素数编写一个函数

def isprime(num):
    if num > 1:
        for i in range(2, num):
            if num % i == 0:
                return False
        return True

%timeit [i for i in range(1000) if isprime(i)]
7.94 ms ± 273 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)
Run Code Online (Sandbox Code Playgroud)

然后我发现有一种使用平方根来写这个的更快的方法,但我无法理解它的工作原理。任何人都可以用更简单的术语解释这段代码以及它为什么有效?

def isprime(num):
    if num > 1:
        for i in range(2, int(num ** 0.5) + 1):
            if num % i == 0:
                return False
        return True

%timeit [i for i in range(1000) …
Run Code Online (Sandbox Code Playgroud)

python python-3.x

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

标签 统计

python ×2

counter ×1

defaultdict ×1

list ×1

python-3.x ×1

string ×1