web-dev-qa-db-ja.com

リスト内のサブリスト

リストを作成しました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つのオブジェクトだけを取得するにはどうすればよいですか?

8
Robert Montz

スライス表記は[: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']
15

Pythonの場合:

thorny = flowers[1-3]

(1-3 == -2)であるため、これはflowers[-2]に相当します。つまり、リストの最後から、つまり-最後から2番目の要素-たとえばカンゾウ...

最初の3つの要素までスライスするには(ただし、含まない)、thorny = flowers[:3]を使用できます。その後のすべてが必要な場合は、flowers[3:]です。

Python slicingについて読んでください

6
Jon Clements

flowers[0:3](または同等にflowers[:3])を実行することをお勧めします。 (たとえば)flowers[0-3]を実行した場合、それはflowers[-3](つまり、flowersの最後から3番目の項目)と同等になります。

2
arshajii

どうぞ:

thorny = flowers[0:3]
1
Timo Kluck

特定のリストには、次の3つのサブリストタイプがあります。

e1  e2  e3  e4  e5  e6  e7  e8  e9  e10     << list elements
|<--FirstFew-->|        |<--LastFew-->|
        |<--MiddleElements-->|
  1. FirstFewは主に+ veインデックスで表されます。

    First 5 elements - [:5]      //Start index left out as the range excludes nothing.
    First 5 elements, exclude First 2 elements - [2:5]
    
  2. LastFewは主に-veインデックスで表されます。

    Last 5 elements - [-5:]       //End index left out as the range excludes nothing.
    Last 5 elements, exclude Last 2 elements - [-5:-2]
    
  3. MiddleElementsは、正と負の両方のインデックスで表すことができます。

    Above examples [2:5] and [-5:-2] covers this category.
    

リストの花の最初の3つのオブジェクトだけ

[0 : 3]   //zero as there is nothing to exclude.
or
[:3]
0
Saurav Sahu