相关疑难解决方法(0)

如何用n个元素对python中的元素进行分组?

可能重复:
如何在Python中将列表拆分为大小均匀的块?

我想从列表l中获取大小为n的元素组:

即:

[1,2,3,4,5,6,7,8,9] -> [[1,2,3], [4,5,6],[7,8,9]] where n is 3
Run Code Online (Sandbox Code Playgroud)

python arrays grouping list

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

以n的倍数迭代一个python序列?

如何批量处理序列的元素?

例如,使用序列"abcdef"和批量大小为2,我想执行以下操作:

for x, y in "abcdef":
    print "%s%s\n" % (x, y)
ab
cd
ef
Run Code Online (Sandbox Code Playgroud)

当然,这不起作用,因为它期望列表中的单个元素本身包含2个元素.

什么是一个漂亮,简短,干净,pythonic的方式来处理批处理列表中的下一个n个元素,或者从一个更大的字符串处处理长度为n的子字符串(两个类似的问题)?

python iteration

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

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

将列表中的每对元素收集到Python中的元组中

可能重复:
单个列表中的对

我有一个小整数列表,说:

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

我希望收集顺序对并返回一个包含从这些对创建的元组的新列表,即:

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

我知道必须有一个非常简单的方法来做到这一点,但不能完全解决它.

谢谢

python

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

Python生成器,将另一个可迭代组合成N组

我正在寻找一个可迭代i和大小的函数,n并产生长度n为连续值的元组i:

x = [1,2,3,4,5,6,7,8,9,0]
[z for z in TheFunc(x,3)]
Run Code Online (Sandbox Code Playgroud)

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

标准库中是否存在这样的功能?

如果它作为标准库的一部分存在,我似乎无法找到它并且我已经没有用于搜索的术语.我可以自己写,但我宁愿不写.

python generator std

18
推荐指数
2
解决办法
7457
查看次数

Pythonic方式将逗号分隔数字分成对

我想将逗号分隔值拆分成对:

>>> s = '0,1,2,3,4,5,6,7,8,9'
>>> pairs = # something pythonic
>>> pairs
[(0, 1), (2, 3), (4, 5), (6, 7), (8, 9)]
Run Code Online (Sandbox Code Playgroud)

会是什么Python的#什么样子呢?

你如何检测和处理一组奇数的字符串?

python tuples

17
推荐指数
3
解决办法
6215
查看次数

处理用Python解析的csv文件中的额外换行符(回车)?

我有一个CSV文件,其中包含包含换行符的字段,例如:

A, B, C, D, E, F
123, 456, tree
, very, bla, indigo
Run Code Online (Sandbox Code Playgroud)

(在这种情况下,第二行中的第三个字段是"tree \n"

我尝试了以下方法:

import csv
catalog = csv.reader(open('test.csv', 'rU'), delimiter=",", dialect=csv.excel_tab)
for row in catalog:
    print "Length: ", len(row), row
Run Code Online (Sandbox Code Playgroud)

我得到的结果是这样的:

Length:  6 ['A', ' B', ' C', ' D', ' E', ' F']
Length:  3 ['123', ' 456', ' tree']
Length:  4 ['   ', ' very', ' bla', ' indigo']
Run Code Online (Sandbox Code Playgroud)

有谁知道如何快速删除多余的换行符?

谢谢!

python csv newline

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

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

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

python string tuples

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

当n%k> 0时,将n长列表分成k长块的简单习惯用法?

在Python中,如果nk(IOW,)的倍数,很容易将n长列表分解为k -size块.这是我最喜欢的方法(直接来自文档):n % k == 0

>>> k = 3
>>> n = 5 * k
>>> x = range(k * 5)
>>> zip(*[iter(x)] * k)
[(0, 1, 2), (3, 4, 5), (6, 7, 8), (9, 10, 11), (12, 13, 14)]
Run Code Online (Sandbox Code Playgroud)

(诀窍是[iter(x)] * k产生一个对同一个迭代器k个引用列表,如返回的那样.然后通过调用迭代器的每个k副本一次来生成每个块.之前是必要的因为期望接收它的参数为"单独的" "迭代器,而不是它们的列表."iter(x)zip*[iter(x)] * kzip

我用这个习语看到的主要缺点是,当n不是k的倍数(IOW,n % k > 0 …

python python-itertools map-function

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

如何每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万
查看次数