Code: Alles auswählen
a = 'ich bIn ein StrIng'
print a.lower().count('i')
Code: Alles auswählen
>>> a = 'ich bIn ein StrIng'
>>> print a.lower().count('i')
4
>>> a
'ich bIn ein StrIng'
Code: Alles auswählen
a = 'ich bIn ein StrIng'
print a.lower().count('i')
Code: Alles auswählen
>>> a = 'ich bIn ein StrIng'
>>> print a.lower().count('i')
4
>>> a
'ich bIn ein StrIng'
Code: Alles auswählen
my ($x1, @model1) = split /\s+/, "AXDA .255 .245 .245 .255";
print $x1, "\n";
print @model1, "\n";
my ($x2, @model2) = split /\s+/, "CYEC .225 .275 .275 .225";
print $x2, "\n";
print @model2, "\n";
my @lod = map(lg($model1[$_]/$model2[$_]), (0..3));
print @lod, "\n";
my $a = "aagcaaatccgcgataaaattgccttggggcgtataaaagg";
$a =~ tr/acgtACGT/01230123/;
print $a, "\n";
my $score = sum(map($lod[$_], split //,$a));
print $score, "\n";
Code: Alles auswählen
AXDA
.255.245.245.255
CYEC
.225.275.275.225
0.180572245641821-0.166649869409451-0.1666498694094510.180572245641821
00210003112120300003321133222212303000022
1.15346400039175
Code: Alles auswählen
#1.
##my ($x1, @model1) = split /\s+/, "AXDA .255 .245 .245 .255";
x1, model1 = "AXDA .255 .245 .245 .255".split()
#2.
##my @lod = map(lg($model1[$_]/$model2[$_]), (0..3));
lod = map(lambda x: [lg($model1[x]/$model2[x] ], range(0,4))
#3
#my $a = "aagcaaatccgcgataaaattgccttggggcgtataaaagg";
#$a =~ tr/acgtACGT/01230123/;
a = "aagcaaatccgcgataaaattgccttggggcgtataaaagg";
a.translate(string.maketrans('acgtACGT', '01230123')
#4.
#my $score = sum(map($lod[$_], split //,$a));
Ab Python 3 geht:mit hat geschrieben:zu 1: Leider erkennt Python nicht, dass model1 ein Array sein soll. Gibt es in Python dafür eine andere schreibweise?
Code: Alles auswählen
a, *b = range(3)
Ne, kanns nicht weil Python keine Skalar-Dollarzeichen benutzt. Das solltest du inzwischen wissen.mit hat geschrieben:zu 2: Hier bin ich nicht sicher ob es so funktionieren kann, da 1 nicht funktioniert.
Zur Not baust du dir eben eine eigene tr-Funktion:mit hat geschrieben: Leider weiss ich nicht wie diesen Perl Code:Wie würde dies in Python aussehen?Code: Alles auswählen
$com = 'ADFdiKL' $com =~ tr/ADFadf/XYZxyz/;
Code: Alles auswählen
>>> def translator(source, destination):
lookup = dict(zip(source, destination))
return lambda i: ''.join([lookup[c] for c in i])
>>> tr = translator("ADFadf","XYZxyz")
>>> tr('afdFAD')
'xzyZXY'
Danke. Die Möglichkeit wurde ja auch schon weiter oben aufgezeigt und es ist immer sinnvoll erprobte eingebaute Funktionen/Methoden zu nutzen. Eigentlich wollte ich nur zeigen, dass es nicht schwer ist die gewünschte Funktion nachzubauen.EyDu hat geschrieben:@Ronnie: http://docs.python.org/library/string.h ... .maketrans.