相关疑难解决方法(0)

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

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

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

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

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

python split list chunks

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

识别列表中的连续数字组

我想在列表中标识连续数字组,以便:

myfunc([2, 3, 4, 5, 12, 13, 14, 15, 16, 17, 20])
Run Code Online (Sandbox Code Playgroud)

返回:

[(2,5), (12,17), 20]
Run Code Online (Sandbox Code Playgroud)

并且想知道最好的方法是什么(特别是如果在Python中有内置的东西).

编辑:注意我原本忘了提到个别数字应该作为单独的数字返回,而不是范围.

python list range continuous

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

按值列出组列表

假设我有一个这样的列表:

list = [["A",0], ["B",1], ["C",0], ["D",2], ["E",2]]
Run Code Online (Sandbox Code Playgroud)

我怎样才能最优雅地将其分组以在Python中获取此列表输出:

list = [["A", "C"], ["B"], ["D", "E"]]
Run Code Online (Sandbox Code Playgroud)

所以这些值按secound值分组但订单仍然保留......

python grouping list

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

在python中将整数列表转换为范围

python中是否存在可以将增加的整数列表转换为范围列表的内容

例如,给定{0,1,2,3,4,7,8,9,11}我想得到{{0,4},{7,9},{11,11}}.

我可以写一个程序来做这个,但想知道python中是否有内置函数

python integer list range

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

如何在列表中组合相似的字符?

我正在尝试组合列表中彼此相邻的相似字符.我想知道是否有Python方法可以做到这一点?这是一个例子:

test = 'hello###_world###test#test123##'
splitter = re.split("(#)", test)
splitter = filter(None, splitter)
Run Code Online (Sandbox Code Playgroud)

这在splitter变量中返回:

['hello', '#', '#', '#', '_world', '#', '#', '#', 'test', '#', 'test123', '#', '#']
Run Code Online (Sandbox Code Playgroud)

我正在尝试组合哈希,所以列表变成了这样:

['hello', '###', '_world', '###', 'test', '#', 'test123', '##']
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助!

python

10
推荐指数
2
解决办法
290
查看次数

根据bin大小将列表划分为多个列表

我有一个包含超过100,000个值的列表.

我需要根据特定的bin宽度(例如0.1)将列表分成多个较小的列表.任何人都可以帮我如何写一个python程序来做到这一点?

我的清单看起来像这样

-0.234
-0.04325
-0.43134
-0.315
-0.6322
-0.245
-0.5325
-0.6341
-0.5214
-0.531
-0.124
-0.0252
Run Code Online (Sandbox Code Playgroud)

我希望有这样的输出

list1 = [-0.04325, -0.0252] 
list2 = [-0.124] 
list3 = [-0.234, -0.245 ] 
list4 = [-0.315] 
list5 = [-0.43134] 
list6 = [-0.5325, -0.5214, -0.531] 
list7 = [-0.6322, -0.6341]
Run Code Online (Sandbox Code Playgroud)

python

8
推荐指数
2
解决办法
6012
查看次数

什么是itertools.groupby()用于?

在阅读python文档时,我遇到了这个itertools.groupby() 函数.这不是很简单所以我决定在stackoverflow上查找一些信息.我从如何使用Python的itertools.groupby()中找到了一些东西.

在这里和文档中似乎没有关于它的信息,所以我决定发表我的意见以征求意见.

谢谢

python python-itertools

8
推荐指数
2
解决办法
8492
查看次数

Django/Python - 通过多对多关系中的公共集对对象进行分组

这是一个部分算法逻辑问题(如何做),部分实现问题(如何做到最好!).我正在和Django合作,所以我想我会与之分享.

在Python中,值得一提的是,问题与how-do-i-use-pythons-itertoolsgroupby有些相关.

假设您有两个Django Model派生类:

from django.db import models

class Car(models.Model):
    mods = models.ManyToManyField(Representative)
Run Code Online (Sandbox Code Playgroud)

from django.db import models

class Mods(models.Model):
   ...
Run Code Online (Sandbox Code Playgroud)

如何获得汽车列表,按汽车分组,使用一组共同的Mod?

即我想得到一个类似的:

Cars_by_common_mods = [ 
  { mods: { 'a' }, cars: { 'W1', 'W2' } },
  { mods: { 'a', 'b' }, cars: { 'X1', 'X2', 'X3' }, },
  { mods: { 'b' }, cars: { 'Y1', 'Y2' } },
  { mods: { 'a', 'b', 'c' }, cars: { 'Z1' } },
]
Run Code Online (Sandbox Code Playgroud)

我一直在想类似的东西:

def cars_by_common_mods():
  cars …
Run Code Online (Sandbox Code Playgroud)

python puzzle django algorithm

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

查找数组中重复元素的索引(Python,NumPy)

假设,我有一个NumPy整数数组,如:

[34,2,3,22,22,22,22,22,22,18,90,5,-55,-19,22,6,6,6,6,6,6,6,6,23,53,1,5,-42,82]
Run Code Online (Sandbox Code Playgroud)

我想找到数组的开始和结束索引,其中一个值超过x次(比如说5次)重复.所以在上面的例子中,它是值22和6.重复22的起始索引是3,结束索引是8.相同的重复6. Python中是否有一个特殊工具有用?否则,我会遍历索引的数组索引,并将实际值与之前的值进行比较.

问候.

python arrays numpy

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

uniq、groupby 的用例,无需排序

在调试Python程序时,我最近发现Python itertools#groupby()函数需要对输入集合进行排序,因为它只对序列中出现的相同元素进行分组:

一般来说,可迭代对象需要已经在相同的键函数上进行排序。

groupby()的操作类似于Unix中的uniq过滤器

在这两种情况下,uniq以及 Python 的情况groupby()下,我想知道在不排序的情况下应用这些的用例可能是什么。

显然,排序的成本可能很高,因此应尽可能避免。然而,如果排序在实践中显然是不可避免的,那么为什么 Python 开发人员决定不将其设为默认值呢groupby()?这似乎给该功能的用户造成了很多困惑。

我注意到这个设计决策似乎并不具有普遍性。像 Scala 这样的语言似乎在其groupBy()函数中隐式地对集合进行排序。

因此,我的问题是:哪些用例导致了在 uniq 和 Python 的 groupby() 中不隐式排序的设计决策?

python sorting grouping uniq

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