小编And*_* C.的帖子

如何在python中创建一些空的嵌套列表

我想要一个变量,它是一个嵌套的列表,列出了一些我可以在以后填写的空列表.看起来像:

my_variable=[[], [], [], []]
Run Code Online (Sandbox Code Playgroud)

但是,我事先并不知道我需要多少列表,只是在创建步骤,因此我需要一个变量a来确定它.我想简单my_variable=[[]]*a,但是创建了列表的副本,这不是我想要的.

我可以:

my_variable=[]  
for x in range(a):
   my_variable.append([])
Run Code Online (Sandbox Code Playgroud)

但我正在寻找一种更优雅的解决方案(最好是单线).有没有?

python list nested-lists

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

如何在python中使用.endswith函数测试几个条件

我有一个包含不同扩展名的文件列表.淘汰者我想筛选出只有那些扩展.bam,.bai,.vcf和更多一些.有没有办法使用带有多个参数的endswith函数而不是多次重复它?

所以代替:

for name in list:
    if name.endswith('.bam') or name.endswith('.bai') or name.endswith('.bai'):
        # do stuff
Run Code Online (Sandbox Code Playgroud)

就像是:

for name in list:
    if name.endswith(*['.bai', '.bam', '.vcf']):
        # do stuff
Run Code Online (Sandbox Code Playgroud)

python string kwargs

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

如何提高python中大型列表的性能

我有一个很大的列表,其中有 1000 万个整数(已排序)“列表”。我需要的是获得一些整数(来自“blist”)和列表中的邻居之间的最小距离。我通过找到我要查找的整数的位置,获取前后的项目并测量差异来做到这一点:

alist=[1, 4, 30, 1000, 2000] #~10 million integers
blist=[4, 30, 1000] #~8 million integers

for b in blist:
    position=alist.index(b)
    distance=min([b-alist[position-1],alist[position+1]-b])
Run Code Online (Sandbox Code Playgroud)

这个操作必须重复数百万次,不幸的是,它在我的机器上需要很长时间。有没有办法提高这段代码的性能?我使用 python 2.6 而 python 3 不是一个选项。

python optimization performance list

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

标签 统计

python ×3

list ×2

kwargs ×1

nested-lists ×1

optimization ×1

performance ×1

string ×1