我有一个普通的Python列表,其中包含(多维)numPy数组,它们的形状和值均相同。列表中的某些数组是早期数组的重复。
我有一个要删除所有重复项的问题,但是数据类型为numPy数组这一事实使这一点变得有些复杂...
•我不能使用set(),因为numPy数组不可哈希。
•我无法在插入过程中检查重复项,因为数组是通过函数批量生成的,并使用.extend()添加到列表中。
•numPy数组不能不通过numPy自己的函数之一直接进行比较,因此我不能只使用“ if x in list” ...
• 列表的内容需要在最后保留numPy数组的过程; 我可以比较转换为嵌套列表的数组的副本,但是不能将数组永久转换为直接的python列表。
关于如何有效地删除重复项的任何建议?
我正在编写一些类似这样的PHP代码:
foreach($filter[1] as $reject){
$reject_processed = preg_replace('~\s~','',strtolower($filter[1][$reject]));
if(array_key_exists($reject_processed,$list_of_common_replacements)){
$filter[0][] = $list_of_common_replacements[$reject_processed];
$filter[1] = array_splice($filter[1],$reject,1)
}
}
Run Code Online (Sandbox Code Playgroud)
它应该搜索被拒绝的值列表(filter [1]),查找是否存在替换,然后(如果是)将替换添加到良好值列表(filter [0]),同时从中删除固定值拒绝清单.
将从foreach()内部的foreach()主要主题的数组中删除值会导致问题吗?
我想在Python 2.6中比较两个整数列表,每个整数列表大小相同.我需要的比较是将列表1中的第一项与列表2中的第一项进行比较,将列表1中的第二项与列表2中的第二项进行比较,依此类推,如果所有列表项都跟随,则返回结果相同的比较标准.它应该表现如下:
list1 = [1,1,1,1]
list2 = [2,1,2,3]
compare(list1,list2)
# returns a "list 1 is <= list 2" response.
list1 = [4,1,4,3]
list2 = [2,1,2,3]
compare(list1,list2)
# returns a "list 1 is >= list 2" response.
list1 = [3,2,3,2]
list2 = [1,4,1,4]
compare(list1,list2)
# returns None— some items in list1 > list2, and some items in list2 > list1.
Run Code Online (Sandbox Code Playgroud)
我想我可以像下面的块一样编写代码,但我不知道它是否最有效.我的程序将调用这个方法很多,所以我想尽可能地简化这个.
def compare(list1,list2):
gt_found = 0
lt_found = 0
for x in range(len(list1)):
if list1[x] > list2[x]:
gt_found += 1
elif …Run Code Online (Sandbox Code Playgroud) 我正在制作一个日历程序。“展开重复事件”代码给我带来了无穷无尽的麻烦。我通过使用 mktime() 来扩展事件以获得“纯”时间值,然后向其添加重复增量(在本例中为 604800 秒或 7 天)。然后使用 localtime() 来获取日历结构。
有时候是这样的:
原始事件:9 月 10 日
{tm_sec = 0, tm_min = 0, tm_hour = 16, tm_mday = 10, tm_mon = 9,
tm_year = 2012, tm_wday = 4, tm_yday = 283, tm_isdst = 0,
tm_gmtoff = -25200, tm_zone = 0x608ff0 "PDT"}
Run Code Online (Sandbox Code Playgroud)
第一次重复:9月17日
{tm_sec = 0, tm_min = 0, tm_hour = 17, tm_mday = 17, tm_mon = 9,
tm_year = 2012, tm_wday = 4, tm_yday = 290, tm_isdst = 1,
tm_gmtoff = -25200, tm_zone …Run Code Online (Sandbox Code Playgroud) list ×2
python ×2
array-splice ×1
arrays ×1
c ×1
comparison ×1
datetime ×1
foreach ×1
localtime ×1
mktime ×1
numpy ×1
performance ×1
php ×1