list1 = ["Noki a"]
print (list1[0:3]) #gives ["Noki a"] as output.
print (list1[1:3]) #gives [] empty list as ouput.
これは実際の動作を理解していません。リスト項目にある文字列の間に空白がある場合に、リストが実際にどのように機能するかについての説明が必要です。リスト項目の値に空白が含まれていると、Pythonのリストはどのように振る舞うのですか
list1 = ["Noki a"]
print (list1[0:3]) #gives ["Noki a"] as output.
print (list1[1:3]) #gives [] empty list as ouput.
これは実際の動作を理解していません。リスト項目にある文字列の間に空白がある場合に、リストが実際にどのように機能するかについての説明が必要です。リスト項目の値に空白が含まれていると、Pythonのリストはどのように振る舞うのですか
これは、文字列に含まれるスペースとは関係ありません。あなたのリストにはインデックス0(文字列"Noki a"
)のアイテムが1つしかないので、スライスはインデックス0を除外しているので、スライス[1、3]は空です。
リストの代わりに文字列をスライスする必要があります。インデックスは、文字列が最初に、その後、スライス:
list1[0][1:3]
これを一歩後ろにして、文字列を単一のアイテムリストに入れても構いません。裸の文字列をスライスするだけです。 (あなたの答えに異論はありません。) –
あなたのリストには、"Noki a"
ある一つの要素を持っています。したがって、スライス表記に基づいて、[0]
を含むスライスにはその要素が含まれ、それ以外の場合は空になります。あなたは、文字列の一部をスライスすることを意図していた場合
は、リストから文字列を削除
>>> s = "Noki a"
>>> s[0:3]
'Nok'
>>> s[1:3]
'ok'
または
を引き起こすその後、スライス(それが含まれている文字列である)あなたのリストからインデックス要素[0]
>>> list1 = ["Noki a"]
>>> list1[0][0:3]
'Nok'
>>> list1[0][1:3]
'ok'
あなたが実際に文字を出力している結果を持っているが行います
list1 = ["N", "o", "k", "i", " ", "a"]
print (list1[0:3])
print (list1[1:3])
現在、あなたのリストに1つのアイテムがありますので、常に0番目のアイテムです.0-3の場合、0アイテム「Noki a」が印刷されますが、1-3ではそれが印刷されません。
質問には良い答えがありましたが、私はコメントとして追加したかったのです:なぜ、1つの文字列をリストに入れるのはどうですか?文字列をスライスすることができます。それはリストにある必要はありません。 「ノキア」[0:3]は「ノク」を与え、「ノキー」[1:3]は「オク」を与える。 –