Skip to content

Instantly share code, notes, and snippets.

@MartGro
MartGro / Chatterjees_Xi.ipynb
Created December 26, 2021 19:55
Quick demonstration of a new coefficient of correlation
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@MartGro
MartGro / sort_csv _keep_header.sh
Created December 3, 2021 11:42
Sort CSV file based on numerical value of fist field (shell command)
{ head -n1 unsorted.csv && tail -n+2 unsorted.csv | sort -n --field-separator="," -k 1,1; } > sorted.csv;
@MartGro
MartGro / build.log
Created June 4, 2020 16:14
Log of failed XML::DOM::XPath installation
cpanm (App::cpanminus) 1.7044 on perl 5.030003 built for x86_64-linux
Work directory is /home/stud/ga42vor/.cpanm/work/1591284564.30315
You have make /usr/bin/make
You have LWP 6.44
You have /bin/tar: tar (GNU tar) 1.29
Copyright © 2015 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
@MartGro
MartGro / build.log
Created June 4, 2020 16:12
Build Log of Failed Bioperl installation (DB_File)
cpanm (App::cpanminus) 1.7044 on perl 5.030003 built for x86_64-linux
Work directory is /home/stud/ga42vor/.cpanm/work/1591284525.30081
You have make /usr/bin/make
You have LWP 6.44
You have /bin/tar: tar (GNU tar) 1.29
Copyright © 2015 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
import itertools
def listen_permutator(a,b):
comb = itertools.product(a,b)
comb = [flatten([j for j in i]) for i in comb]
#print(list(comb))
comb = set(tuple(sorted(i)) for i in comb if len(i) == len(set(i)))
return [list(i) for i in comb]
def flatten(l):
def listen_permutierer(a,b):
produkt = itertools.product(a,b)#Kartesisches Produkt
produkt_set = [i for i in set(produkt)]#Alle einfachen Dubletten entfernen
output_set = produkt_set.copy()#Kopie, aus der die umgedrehten dubletten gelöscht werden
for i in range(len(produkt_set)):#Von vorne her alle einzelnen Einträge durchgehen
umgedrehtes_element = tuple(reversed(produkt_set[i]))#Das jeweilige Element umdrehen (1,2) → (2,1)
for j in range(i,len(produkt_set)):#Alle Elemente hinterhalb anschauen und das Element entfernen, wenn es dem Umgedrehten entspricht
if umgedrehtes_element == produkt_set[j]:
output_set[j] = -1 #Das jeweilige Element zum löschen markieren (Im output_set steht dann halt -1 statt dem (2,1))
output = [i for i in output_set if i != -1] #Die Elemente löschen und ausgeben