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

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

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

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

Q&A

解決済

3回答

290閲覧

Pythonの文法で教えて頂きたい所があります。

amaturePy

総合スコア131

Python 3.x

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

0グッド

0クリップ

投稿2020/06/20 16:02

Pythonの下記のコードの理解が合っているか教えて頂きたいです。
以下のコードはtable1というリストの全要素数(i)が1つしかない場合if以下の処理を実行するという認識で合っていますでしょうか?
かなり基本的な物かと思いますが、ご教授頂けると幸いです。

if len(table1[i]) == 1:

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

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

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

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

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

guest

回答3

0

ベストアンサー

table1というリストの全要素数(i)が1つしかない場合

違います。

table1がリストだとして、その添え字iの要素が、何らかのlen()が適用できるデータ(文字列、バイト列、タプル、リスト、range 等)で、そのlen()が1の場合です。

例えば、table1 = ["AB","C","DEF"]で、i=1だと真だし、i=2なら偽です。
ここでは文字列を書きましたが、リストかも知れないしレンジかも知れない。

投稿2020/06/20 16:39

otn

総合スコア84686

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

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

amaturePy

2020/06/20 16:50

ありがとうございます。 for i in range(num_char):のfor文の中にあるので、i=rangeの中の1ということですね。 全く別の認識でいたのでとても助かりました!
guest

0

table1は下記のような構造になっているのではないでしょうか。

0123
01112
121222324
2313233

例えばtable1[1]は[21,22,23,24]というリストになりますのでlen(table1[1])は4が返ります。したがってlen(table[i])は0から数えてi番目のリストの要素数になりますので、それが1の場合を判断するif文になっています。

投稿2020/06/20 16:23

yymmt

総合スコア1615

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

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

amaturePy

2020/06/20 16:52

はい。おっしゃる通りのリストの構造になっております。 なるほど。。。そのように読むべきだったのですね。 とても参考になりました! ありがとうございました!
guest

0

回答としては「table1 の内容による」になります。例えば table1 が2次元配列の場合

python

1table1 = [ 2 [1, 2, 3], 3 [2, 3, 4], 4] 5 6i = 0 7print(len(table1[i]))

len(table1[i]) は、「table1 で添え字 i の示す要素(この場合 [1,2,3])の個数(つまり3)」になります。

例えば table1 が文字列の配列の場合

python

1table1 = ["xx", "yy"] 2 3i = 0 4print(len(table1[i]))

len(table1[i]) は、「table1 で添え字 i の示す要素(この場合 "xx")の長さ(つまり2)」になります。

つまり

python

1 if len(table1[i]) == 1:

は table1 で添え字 i の示す要素の、長さもしくは要素数が 1 という意味になります。

投稿2020/06/20 16:14

mattn

総合スコア5030

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

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

amaturePy

2020/06/20 16:59

ありがとうございます! すごい詳細に解説頂きまして、恐縮です! 添え字という用語もあったのですね。このキーワードで調べると記事がたくさん出てきました。 頂いた解説と一緒に自身でも調べて勉強して参ります。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問