перевернуть строку - PullRequest
       26

перевернуть строку

0 голосов
/ 15 сентября 2009

У меня есть содержимое строк, и я должен изменить порядок, используя python. содержание

  1. Python
  2. Java
  3. Microsoft

Ответы [ 4 ]

25 голосов
/ 15 сентября 2009

Если вы хотите новый список:

a = ["Python", "Java", "Microsoft"]
b = a[::-1]
# b is now ["Microsoft", "Java", "Python"]

или

a = ["Python", "Java", "Microsoft"]
b = list(reversed(a))
# b is now ["Microsoft", "Java", "Python"]

Если вы хотите изменить существующий список:

a = ["Python", "Java", "Microsoft"]
a.reverse()
# a is now ["Microsoft", "Java", "Python"]

Если вы хотите список, в котором каждая строка имеет свои символы в обратном порядке:

a = ["Python", "Java", "Microsoft"]
b = [x[::-1] for x in a]
# b is now ["nohtyP", "avaJ", "tfosorciM"]

Причина, по которой при использовании записи среза с a[::-1] возвращается последовательность, обратная a, заключается в том, что запись среза работает следующим образом:

sequence[start:end:step]

, так как вы указываете step как -1, это означает, что он работает в обратном порядке через последовательность один за другим, что в действительности является противоположностью последовательности. (start и end, будучи опущенными, используют их значения по умолчанию, то есть всю последовательность.)

1 голос
/ 15 сентября 2009

наиболее приемлемым вариантом для последовательностей является использование «перевернутого», но результатом всегда является список, поэтому для строки вы можете либо использовать ее и снова преобразовать в строку, присоединив элементы, либо использовать фрагмент с отрицательный индекс (это позже будет более эффективным, я думаю):

s = "abcd"
reversed(s) #-> ['d','c','b','a']
"".join(_) #-> 'dcba'

#or

s[::-1] #-> 'dcba'
1 голос
/ 15 сентября 2009
>>> l = ["Microsoft", "Java", "Python"]
>>> l.reverse()
>>> l
['Python', 'Java', 'Microsoft']
>>> 
0 голосов
/ 05 августа 2016
public class StringRev {
public static void main(String[] args) {
    // text is containing dummy/ Test string
    String text="ReverseToString";
    //StringBuilder sb=new StringBuilder();
    // In this line I am creating the object of StringBuffer
    StringBuffer sb=new StringBuffer();

    // using a for loop in decreasing order from length-1 to 0
    for(int i=text.length()-1;i>=0;i--){
    // getting the character using index and appending in String buffer.
    sb.append(text.charAt(i));

    }
    // converting StringBuffer value to String
    System.out.println(sb.toString());
}
}
//output will be "gnirtSoTesreveR"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...