リストを作成しましたflowers
>>> flowers = ['rose','bougainvillea','yucca','marigold','daylilly','lilly of the valley']
次に、
リストの最初の3つのオブジェクトで構成されるリストthorny
のサブリストをリストflowers
に割り当てる必要がありました。
これは私が試したものです:
>>> thorny = []
>>> thorny = flowers[1-3]
>>> thorny
'daylilly'
>>> thorny = flowers[0-2]
>>> thorny
'daylilly'
>>> flowers[0,1,2]
Traceback (most recent call last):
File "<pyshell#76>", line 1, in <module>
flowers[0,1,2]
TypeError: list indices must be integers, not Tuple
>>> thorny = [flowers[0] + ' ,' + flowers[1] + ' ,' + flowers[2]]
>>> thorny
['rose ,bougainvillea ,yucca']
リスト内のリストの外観を維持しながら、リストの花の最初の3つのオブジェクトだけを取得するにはどうすればよいですか?
スライス表記は[:3]
ではない[0-3]
:
In [1]: flowers = ['rose','bougainvillea','yucca','marigold','daylilly','lilly of the valley']
In [2]: thorny=flowers[:3]
In [3]: thorny
Out[3]: ['rose', 'bougainvillea', 'yucca']
Pythonの場合:
thorny = flowers[1-3]
(1-3 == -2)であるため、これはflowers[-2]
に相当します。つまり、リストの最後から、つまり-最後から2番目の要素-たとえばカンゾウ...
最初の3つの要素までスライスするには(ただし、含まない)、thorny = flowers[:3]
を使用できます。その後のすべてが必要な場合は、flowers[3:]
です。
Python slicingについて読んでください
flowers[0:3]
(または同等にflowers[:3]
)を実行することをお勧めします。 (たとえば)flowers[0-3]
を実行した場合、それはflowers[-3]
(つまり、flowers
の最後から3番目の項目)と同等になります。
どうぞ:
thorny = flowers[0:3]
特定のリストには、次の3つのサブリストタイプがあります。
e1 e2 e3 e4 e5 e6 e7 e8 e9 e10 << list elements
|<--FirstFew-->| |<--LastFew-->|
|<--MiddleElements-->|
FirstFewは主に+ veインデックスで表されます。
First 5 elements - [:5] //Start index left out as the range excludes nothing.
First 5 elements, exclude First 2 elements - [2:5]
LastFewは主に-veインデックスで表されます。
Last 5 elements - [-5:] //End index left out as the range excludes nothing.
Last 5 elements, exclude Last 2 elements - [-5:-2]
MiddleElementsは、正と負の両方のインデックスで表すことができます。
Above examples [2:5] and [-5:-2] covers this category.
リストの花の最初の3つのオブジェクトだけ
[0 : 3] //zero as there is nothing to exclude.
or
[:3]