Archive for the ‘Python’ Category.

【Python備忘録】Perlのアレを、Pythonでどう書けばよいか #03

お題: 標準入力からCSVを受け取り、特定の列の数値の合計を出力する。なお、値に数値以外が含まれている場合は、その値を無視する。

1. Perl 5

#!/usr/bin/env perl

use strict;
use warnings;

my $column = 1; # left to right, starts with 0
my $sum    = 0;

while (my $line = <>) {
    chomp $line;
    my $value = (split q{,}, $line)[$column];
    $sum += $value if $value =~ m{\A \d+ \z}xms;
    # $sum += $value unless $value =~ m{\D}xms; # more literal
}

print "sum: $sum\n";

Continue reading ‘【Python備忘録】Perlのアレを、Pythonでどう書けばよいか #03’ »

【Python備忘録】Perlのアレを、Pythonでどう書けばよいか #02

お題: 2つのスカラー変数の値を交換したい。しかし、一時変数は使用したくない。(Perlクックブック VOLUME 1から拝借)

1. Perl 5

#!/usr/bin/env perl

use strict;
use warnings;

my ($var1, $var2) = (42, "hello, world");
print_vars($var1, $var2);

($var1, $var2) = ($var2, $var1);
print_vars($var1, $var2);

sub print_vars {
    # assumes var2 next to var1
    print qq{var1 = "$_[0]", var2 = "$_[1]"\n};
}

Continue reading ‘【Python備忘録】Perlのアレを、Pythonでどう書けばよいか #02’ »

【Python備忘録】Perlのアレを、Pythonでどう書けばよいか #01

お題: 数値と文字列が混在するリストの各要素を、カンマで連結して標準出力へ出力する。なお、行末は改行文字(\n)で終端する。

1. Perl 5

#!/usr/bin/env perl

use strict;
use warnings;

my @list = (1, 2, 3, 'hello', 'world');
print join(q< ,>, @list) . "\n";

Continue reading ‘【Python備忘録】Perlのアレを、Pythonでどう書けばよいか #01’ »