teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

テキストファイルからのインポート例を追加

2017/07/04 03:12

投稿

miyahan
miyahan

スコア3095

answer CHANGED
@@ -15,24 +15,33 @@
15
15
  a.append(234)
16
16
  a.append(567)
17
17
  ...
18
+
19
+ print(a)
18
20
  ```
19
21
 
20
- また数値の一覧が予め用意されているなら、それをバラしてリストにするのがよいでしょう。
22
+ また数値の一覧が予め用意されているなら、それをバラしてリストにするのがよいでしょう。例えば改行で区切られた文字列がある場合は split() でリストに変換できます。
21
23
 
22
24
  ```python
23
- """改行で区切られた文字列からリストに変換"""
25
+ """"""
24
26
  text = """12
25
27
  234
26
28
  567
27
29
  89
28
30
  1234"""
29
31
 
30
- """ split() を使う方法 """
31
- a = text.split('\n') # split()で改行ごとにバラしてリストに入れる
32
+ a = text.split('\n') # split()で改行(\n)ごとにバラしてリストに入れる
32
33
  for i in range(len(a)):
33
34
  a[i] = int(a[i]) # このままだと中身が文字列なので整数に変換
35
+ print(a)
34
36
 
35
- """ split() を使う方法 (内包表記を使った短縮版) """
37
+ """ 内包表記を使った短縮版 """
36
38
  a = [int(s) for s in text.split('\n')]
39
+ print(a)
40
+ ```
37
41
 
42
+ また数値が書かれたテキストファイルがある場合は、readlines() で一行ごとにバラしてリストに変換できます。
43
+
44
+ ```python
45
+ a = [int(s) for s in open('list.txt').readlines()]
46
+ print(a)
38
47
  ```