python リスト生成を楽にするスクリプト

需要ナッシングなスクリプトを量産しています。

pythonのリスト生成を楽にする

pythonでいろいろやっているとリストを作成するのがめんどうなことがあります。たとえばアルファベットの羅列をリストにしたい場合、1文字だけなのにクォーテーションもしくはダブルクォーテーション、カンマをうたなければなりません。これが面倒なのでプログラムを作りました。

one_char_split.py

まず最初に任意の文字列を入力すると、1文字単位でリストにするpythonスクリプトです。

def one_char_split():
    a_string = []
    char = input("what char?: ")
    for c in char:
        a_string.append(c)
    print(a_string)

string_split.py

一文字ずつをリストにするのは簡単ですが、単語をリストにしようとすると少しだけ頭をひねる必要があります。任意の単語を入力し、exitと入力するまで単語入力をつづけるようにします。今回作ったプログラムの欠点は「exit」という単語は使えないという点です。(プログラム終了のフラグとして使用しているため)

def string_split():
    strings = ""
    while True:
        string = input("what string? / eixt!!! (exit) / ")
        if string.endswith("exit"):
            break
        strings += string
        strings += ","
    strings = strings.rstrip(",")
    strings = strings.split(",")
    print(strings)

sys_test.py

任意の単語をリスト化したかった場合は sysモジュール を使う方法もあります。しかしこちらのスクリプトの場合はスクリプト実行時に引数をわたしてやる必要があります。以下のスクリプトには意味がありませんが sysモジュールの使い方を知ることができます。

import sys
args = sys.argv
for arg in args:
    print(arg)

コマンドは以下のように引数つきで実行します。

> python sys_test.py hoge fuga hogehoge

whileの中にwhile

できます。

import erace_space
import replace_line
import one_char_split
import string_split

while True:
    print("\n1: erace_space.py\n2: replace_line.py\n3: one_char_split.py\n4: string_split.py\nq: exit_program")

    number = input("please_choice_program_number?: ")

    if number == "1":
        erace_space.erace_space()
    elif number == "2":
        replace_line.replace_line()
    elif number == "3":
        one_char_split.one_char_split()
    elif number == "4":
        string_split.string_split()
    elif number == "q":
        break;

print("exit program")