我有一个任意长度的列表,我需要将它分成相同大小的块并对其进行操作.有一些明显的方法可以做到这一点,比如保留一个计数器和两个列表,当第二个列表填满时,将它添加到第一个列表并清空下一轮数据的第二个列表,但这可能非常昂贵.
我想知道是否有人对任何长度的列表都有一个很好的解决方案,例如使用生成器.
我一直在寻找有用的东西,itertools但我找不到任何明显有用的东西.但是可能会错过它.
我有一个Python脚本,它将整数列表作为输入,我需要一次使用四个整数.不幸的是,我无法控制输入,或者我将它作为四元素元组列表传入.目前,我正在以这种方式迭代它:
for i in xrange(0, len(ints), 4):
# dummy op for example code
foo += ints[i] * ints[i + 1] + ints[i + 2] * ints[i + 3]
Run Code Online (Sandbox Code Playgroud)
它看起来很像"C-think",这让我怀疑有更多的pythonic方式来处理这种情况.迭代后会丢弃该列表,因此无需保留.也许这样的事情会更好吗?
while ints:
foo += ints[0] * ints[1] + ints[2] * ints[3]
ints[0:4] = []
Run Code Online (Sandbox Code Playgroud)
但是,仍然没有"感觉"正确.: - /
我有一个列表,就像l=['a', 'b', 'c']
我想要一个像'abc'这样的字符串.所以实际上结果是l[0]+l[1]+l[2],也可以写成
s = ''
for i in l:
s += i
Run Code Online (Sandbox Code Playgroud)
有没有办法更优雅地做到这一点?
新手在这里.我想从文件中读取行,但是在一个单行.txt文件,有一个\n在中间的地方,并尝试读取与.readline蟒蛇削减它在中间和输出两行线.
当我复制并通过该行到这个窗口时,它显示为两行.所以我在这里上传了这个文件:https://ufile.io/npt3n
还添加了文件的截图,如txt文件中所示.
.
f= open("f.txt",mode='r',encoding='utf8')
for i in range(4):
lineText=f.readline()
print(lineText)
f.close()
Run Code Online (Sandbox Code Playgroud)
我定义:
A = [[1, 2], [3, 4], [5, 6]]
Run Code Online (Sandbox Code Playgroud)
生产线是什么?
B = [['hello', [1, 2]], ['hello', [3, 4]], ['hello', [5, 6]]]
Run Code Online (Sandbox Code Playgroud) python ×5
list ×3
chunks ×2
end-of-line ×1
loops ×1
optimization ×1
readline ×1
split ×1
string ×1