前提・実現したいこと
前提
- ユーザーがconfig.iniに数値および数値の範囲を入力
- 数値の範囲の範囲内にある数値を補完してリスト化
- 数値とリスト化した数値の範囲を単一のリストにする
####実現したいこと
- 可読性のよいきれいなコードにしたい
- 冗長な部分をきれいにまとめたい(split多い、空のリスト、if等)
発生している問題
ソースコードが冗長な感じがする
該当のソースコード
ini
1[FILESETTING] 2#数値および数値範囲(3-5など)を指定 3DeleteLines = 1,2,3-5,8
python
1import configparser as cp 2config = cp.ConfigParser() 3config.read(r'config.ini', encoding='UTF-8') 4 5""" 6'-'を含むものを別処理にして、splitで分割 7分割した数値をrangeに入力し、範囲内の数値を補完し再度listにする 8""" 9delete_lines_list = [] 10for string in config['FILESETTING']['DeleteLines'].split(','): 11 if '-' in string: 12 range_list = [int(s) for s in string.split('-')] 13 delete_lines_list.extend([ _ for _ in range(range_list[0],range_list[-1]+1)]) 14 else: 15 delete_lines_list.append(int(string)) 16 17delete_lines_list 18>>> [1, 2, 3, 4, 5, 8]
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/07/20 15:03