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

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

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

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

Q&A

解決済

2回答

1450閲覧

文字列を要素にもつリストを2つずつ分割したい

anoyo-tengoku

総合スコア12

Python 3.x

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

0グッド

0クリップ

投稿2019/02/28 09:42

入力例

['ichiro','jiro','saburo','yonro']

期待する出力

一般に,要素数 n の文字列リストに対して,左から2つずつ要素を選択し,それらのペアを文字列リストとして扱い,さらにそのリストらをリストに入れたい.

入力例に対する期待する出力

[['ichiro','jiro'],['saburo','yonro']]

わからないこと

分割の方法がわからないので,ご教示いただければと思います.

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

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

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

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

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

guest

回答2

0

ここの応用→リストをN分割する

python

1def split_list(l, n): 2 for idx in range(0, len(l), n): 3 yield l[idx:idx + n] 4 5 6l = ['ichiro','jiro','saburo','yonro'] 7result = list(split_list(l, 2)) 8print(result) 9

[['ichiro', 'jiro'], ['saburo', 'yonro']]

投稿2019/02/28 10:04

cateye

総合スコア6851

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

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

cateye

2019/02/28 10:09

一郎、次郎、三郎、四郎・・・いちろう、じろう、さぶろう、しろう・・・よんろうとは言わないd^^;
guest

0

ベストアンサー

python

1data = ['ichiro','jiro','saburo','yonro'] 2new_data = [data[i:i+2] for i in range(0,4,2)] 3print(new_data) # => [['ichiro', 'jiro'], ['saburo', 'yonro']]

上のコードは一見なにやっているかよくわかりにくいですが、
リスト内包表記と、リストの範囲指定がわかれば理解できるはずです。

参考
リストをn個ずつのサブリストに分割 (Python) - おぎろぐはてブロ
Pythonリスト内包表記の使い方 | note.nkmk.me
[Python] 何度も調べてしまうリスト操作をまとめてみた - YoheiM .NET

備考
上記の記事にも書いてありますが、More Itertoolsというモジュールを使うと簡単にできるらしいです。
https://more-itertools.readthedocs.io/en/latest/

投稿2019/02/28 09:55

redshoga

総合スコア196

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問