質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

2回答

1506閲覧

[python] カンマを含む文字列をカンマで分割し、前方の文字列を抽出したい

mini1988

総合スコア56

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2018/03/30 07:52

以下のような文字列を含むlistがあり、カンマで分割して、カンマよりも前方の文字列だけをリストにしたいのですが、思うようなコードが書けずに困っています。どなたかご教示ください。

list=
['1)A.csv',
'2)B.csv',
'3)C.csv',
'4)D.csv',
'5)E.csv',
'6)F.csv',
'7)G.csv',
'8)H.csv',
'9)I.csv',
'10)J.csv']

list=['1)A.csv', '2)B.csv', '3)C.csv', '4)D.csv', '5)E.csv', '6)F.csv', '7)G.csv', '8)H.csv', '9)I.csv', '10)J.csv'] new_list=[[list[i].split('.')[0]] for i in len(list)]

<エラーメッセージ>

Traceback (most recent call last):

File "<ipython-input-222-be9e9d9e293e>", line 1, in <module>
new_list=[list[i].split('.')[0] for i in len(list)]

TypeError: 'int' object is not iterable

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

LouiS0616

2018/03/31 15:37

カンマ( , )じゃなくてピリオド( . )ですね。
guest

回答2

0

だいたいあってますが、forのあとがおかしいですね。lenはそこには置けない。

Python

1new_list=[item.split('.')[0] for item in list]

投稿2018/03/30 07:58

tachikoma

総合スコア3601

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mini1988

2018/03/30 08:06

ご指摘いただきありがとうございます。教えていただいたコードで動作し、私が修正して書いたプログラムでも同じ結果を得られてしまいました。私が書いたコードは間違えてますでしょうか?
tachikoma

2018/03/30 08:30

基本的にはあってると思いますよ。一応気になる点を次に置いておきます。 1. 結果が二重のリストになってしまっていませんか?[["1)A"], ["2)B",...] 2. rangeで回すのもありですが、私の回答のようにindexを使わずに回すほうが記述が少なくて済みます 3. (できれば)listはPythonの予約後の一つなので、my_list等の別の名前を使ったほうが無難
mini1988

2018/03/31 15:11

ご指摘いただき、ありがとうございます。 1.確かにそうですね。私の記述が変でした。ありがとうございます。 2.その通りですね。なるほど!と思いました。 3.予約語とか気にしていませんでした。これから気を付けたいと思います。 以上、初歩的な質問にも丁寧に回答いただき、感謝します。
mini1988

2018/03/31 16:51

ご指摘いただいた(1)に関して、自分で「解決した方法」に書いたコードを修正しました。
guest

0

自己解決

自分で今間違いに気が付きました。
以下で解決しました。

new_list=[list[i].split('.')[0] for i in range(len(list))]

投稿2018/03/30 07:56

編集2018/03/31 16:29
mini1988

総合スコア56

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問