相关疑难解决方法(0)

如何将列表拆分为大小均匀的块?

我有一个任意长度的列表,我需要将它分成相同大小的块并对其进行操作.有一些明显的方法可以做到这一点,比如保留一个计数器和两个列表,当第二个列表填满时,将它添加到第一个列表并清空下一轮数据的第二个列表,但这可能非常昂贵.

我想知道是否有人对任何长度的列表都有一个很好的解决方案,例如使用生成器.

我一直在寻找有用的东西,itertools但我找不到任何明显有用的东西.但是可能会错过它.

相关问题:在块中迭代列表的最"pythonic"方法是什么?

python split list chunks

2068
推荐指数
40
解决办法
84万
查看次数

570
推荐指数
5
解决办法
24万
查看次数

zip(*[iter(s)]*n)如何在Python中运行?

s = [1,2,3,4,5,6,7,8,9]
n = 3

zip(*[iter(s)]*n) # returns [(1,2,3),(4,5,6),(7,8,9)]
Run Code Online (Sandbox Code Playgroud)

zip(*[iter(s)]*n)工作怎么样?如果用更详细的代码编写它会是什么样子?

python iterator

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

按字符串长度分割字符串?

有没有办法获取一个4*x字符长的字符串,并将其切成4个字符串,每个x字符长,不知道字符串的长度?

例如:

>>>x = "qwertyui"
>>>split(x, one, two, three, four)
>>>two
'er'
Run Code Online (Sandbox Code Playgroud)

python

35
推荐指数
7
解决办法
8万
查看次数

Pandas DataFrames:如何包装没有空格的文本

我在Jupyter Notebook中查看Pandas DataFrame,我的DataFrame包含URL请求字符串,可以是数百个字符长,没有任何空格分隔字符.

当有空白时,Pandas似乎只在文本中包装文本,如附图所示:

在此输入图像描述

如果没有空格,则字符串显示在一行中,如果没有足够的空间,我的选项要么是要看'...',要么我必须设置display.max_colwidth为一个巨大的数字,现在我有一个难以阅读的表格,滚动很多.

有没有办法强制Pandas包装文本,比如每100个字符,无论是否有空格?

python ipython pandas

16
推荐指数
4
解决办法
5984
查看次数

将字符串拆分为偶数大小的块

我将如何能够采取像一个字符串'aaaaaaaaaaaaaaaaaaaaaaa' ,并将其分成4个长度元组像(aaaa,aaaa,aaaa)

python string tuples

14
推荐指数
4
解决办法
3500
查看次数

如何每3个索引切一个字符串?

我正在使用Python为我工作的实验室编程.如何切出给定字符串中的每3个字符并将其附加到列表中?

即XXXxxxXXXxxxXXXxxxXXXxxxXXX(其中X或x是任何给定的字母)

string = 'XXXxxxXXXxxxXXXxxxXXXxxxXXX'
mylist = []

for x in string:
    string[?:?:?]
    mylist.append(string)
Run Code Online (Sandbox Code Playgroud)

我希望列表看起来像这样:['XXX','xxx','XXX','xxx','XXX'......等等]

有任何想法吗?

python string slice

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

将字符串拆分为2个字母的段

我有一个字符串,我需要分成2个字母的部分.例如,'ABCDXY'应该成为['AB', 'CD', 'XY'].在奇数个字符的情况下的行为可以完全是任意的(我将提前检查长度).

没有丑陋的循环有没有办法做到这一点?

python string iterator python-3.x

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

在python中从字符串中获取两个字符

如何从字符串中获取python而不是一个字符,而是两个?

我有:

long_str = 'abcd'
for c in long_str:
   print c
Run Code Online (Sandbox Code Playgroud)

它让我喜欢

a
b
c
d
Run Code Online (Sandbox Code Playgroud)

但我需要得到

ab
cd
Run Code Online (Sandbox Code Playgroud)

我是python中的新手..有什么办法吗?

python loops for-loop character

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

使用Python正则表达式拆分非重叠字符组(ORF发现)

我正在寻找一种漂亮的pythonic方法来找到DNA序列中的开放阅读框架.我发现许多在线实现使用索引,标志和其他这样的丑陋.

我很确定可以创建正则表达式实现,但我对正则表达式不好.一般的想法是我想通过'ATG','TAG','TGA'和'TAA'分割出一串DNA序列.但是我不想在重叠区域上分裂,例如序列'ATGA'应该分成'ATG','A'.基本上在三个框架中的每个框架中从左到右.

为清晰起见编辑:如评论中所述,尽管存在(在非零帧中),但ATGATTTTGA应该将一个序列拆分为ATG,TTTTGATGA

edit2:这就是我在没有正则表达式的情况下使用list comprehension splitting链接实现的方法.我讨厌使用旗帜.

def find_orf(seq):
    length = 0
    stop = ['TAA','TGA','TAG']
    for frame in range(3):
        orfFlag, thisLen = None, 0
        splitSeq = [seq[start+frame:start+frame+3] for start in range(0,len(seq),3)]
        for codon in splitSeq:
            if codon == 'ATG':
                orfFlag = True
                thisLen += 1
            elif orfFlag and codon in stop:
                orfFlag = None
                if thisLen > length:
                    length = thisLen
            else:
                thisLen += 1
    return length
Run Code Online (Sandbox Code Playgroud)

python regex

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