2017-09-29 13 views
0

以下のコードを検討してください、最初の2つの要素を逆にしたいと思います。ターゲット文字列は "abcd"、最初の2つの要素は "ab"、 "ba"が必要です。どのように私はそれを行う以下のコードを使用することができますか? (私は私が行うための別の方法を知っているが、どのように以下の方法で行うには?)Python、最初のリスト要素を逆順に取得する方法は?

r = "abcd" 
    t = r[1:0:-1] 
    print(t) 
    # print b 

別の方法:

r = "abcd" 
    t = r[1:-1:-1] 
    print(t) 
    # print NOTHING! 
+0

' 'ABCD' [1 :: - 1]'その質問のトップの答え@jonrsharpe – jonrsharpe

+0

が実際にあなたが 'start'と' step'が含まれるときに何が起こるかを説明していませんが、stop'空白のままに ' 。 3番目のトップの答えは*間違った*情報を与えます( 'step'が負の場合、ここにあるように)。これは本当に重複ですか? –

+0

@JeremyMcGibbonその後、是非改良を提案しますが、スライシングのあらゆる可能な使用について別々の新しい質問は必要ありません。そのため、カノニカルダストが存在します。 – jonrsharpe

答えて

3

あなたが近いです!インデックス作成式から0を削除する必要があります。インデックス式の形式はstart:stop:stepです。停止はではなく、が含まれています。 stopの値を入力しないと、文字列の最後まで続行されます(この場合は、stepが負であるため、文字列の先頭です)。

r = "abcd" 
t = r[1::-1] 
print(t) # prints 'ba' 
+0

ありがとうございます。それはうまくいっていますが、以下のケースを考えてみましょう:文字列 'abcdefghijk'に対して、4文字ごとに、最初の2文字を逆にする必要があります。最初の文字であることを明示的にチェックせずにこれを行うにはどうしたらよいですか? – DingLi

+0

サンプルコードを追加しました。ありがとうございます! – DingLi

+0

@DingLiは答えを受け取った後も質問を変更しません。あなたが実際に知りたいことに、始めることを頼みなさい。 – jonrsharpe

関連する問題