我有这些范围:
7,10
11,13
11,15
14,20
23,39
Run Code Online (Sandbox Code Playgroud)
我需要执行重叠范围的并集以给出不重叠的范围,因此在示例中:
7,20
23,39
Run Code Online (Sandbox Code Playgroud)
我在Ruby中完成了这个,我已经在数组中推动了范围的开始和结束并对它们进行了排序,然后执行重叠范围的并集.有什么快速的方法在Python中执行此操作?
谢谢
我需要在xml的第三个块上合并两个xml文件.所以,文件A.xml和B.xml看起来像这样:
A.XML
<sample id="1">
<workflow value="x" version="1"/>
<results>
<result type="T">
<result_data type="value" value="19"/>
<result_data type="value" value="15"/>
<result_data type="value" value="14"/>
<result_data type="value" value="13"/>
<result_data type="value" value="12"/>
</result>
</results>
</sample>
Run Code Online (Sandbox Code Playgroud)
B.XML
<sample id="1">
<workflow value="x" version="1"/>
<results>
<result type="Q">
<result_data type="value" value="11"/>
<result_data type="value" value="21"/>
<result_data type="value" value="13"/>
<result_data type="value" value="12"/>
<result_data type="value" value="15"/>
</result>
</results>
</sample>
Run Code Online (Sandbox Code Playgroud)
我需要合并'结果'
<sample id="1">
<workflow value="x" version="1"/>
<results>
<result type="T">
<result_data type="value" value="19"/>
<result_data type="value" value="15"/>
<result_data type="value" value="14"/>
<result_data type="value" value="13"/>
<result_data type="value" value="12"/>
</result> …Run Code Online (Sandbox Code Playgroud) 我正在尝试删除字典中的重复值,但它不起作用:
samples_antibiotics_with_duplicates = {'S00541-09': ['Streptomycin', 'Sulfamethoxazole', 'Trimethoprim', 'Spectinomycin', 'Streptomycin', 'Streptomycin', 'Trimethoprim']}
samples_antibiotics = {}
for key,value in samples_antibiotics_with_duplicates.iteritems():
if value not in samples_antibiotics.values():
samples_antibiotics[key] = value
print samples_antibiotics
Run Code Online (Sandbox Code Playgroud)
这打印:
{'S00541-09': ['Streptomycin', 'Sulfamethoxazole', 'Trimethoprim', 'Spectinomycin', 'Streptomycin', 'Streptomycin', 'Trimethoprim']}
Run Code Online (Sandbox Code Playgroud) 我有一个整数列表:
list = [a,b,c,d]
Run Code Online (Sandbox Code Playgroud)
我想将它转换为这些范围:
0..a
a+1..a+b
a+b+1..a+b+c
a+b+c+1..a+b+c+d
Run Code Online (Sandbox Code Playgroud)
任何想法如何在python中做到这一点?
谢谢
我的范围如下:
my_range = [1297134..1328348, 1381732..1382716, 1406478..1408262, 1425452..1427966, 1607341..1609354, 1616388..1616625, 1844576..1846076, 1847450..1847672]
Run Code Online (Sandbox Code Playgroud)
我喜欢遍历所有这些范围并找到最后一个范围和下一个第一个范围之间的差异,例如:
1381732 - 1328348
1406478 - 1382716
etc..
Run Code Online (Sandbox Code Playgroud)
我知道有first和last方法,但我不知道如何陈述最后一个范围和下一个范围.
会感激一些帮助.
python ×4
range ×3
arrays ×1
dictionary ×1
duplicates ×1
list ×1
merge ×1
ruby ×1
union ×1
xml ×1