目录
一、题目
将一个字符串str的内容逆序输出,str的长度不能超过100个字符
输入格式
输入一行字符串
输出格式
输出一行转换好的逆序字符串
二、示例
输入示例
hello world
输出示例
dlrow olleh
三、实现方法
1.字符串切片
语法
str[start:stop:step]
start : 字符串起始索引值
stop : 字符串结束索引值(不包含该位置)
step : 步长,指定切片的长度,默认为1
注:
1.start、stop省略即用None占位,并不是0。
2.索引值可正可负,正索引从字符串开头到末尾,负索引从字符串末尾到开头。
| p | y | t | h | o | n | |
| 正索引 | 0 | 1 | 2 | 3 | 4 | 5 |
| 负索引 | -6 | -5 | -4 | -3 | -2 | -1 |
3.step也可以为负,负步长从后往前读,并将索引转换为对应负索引,判断条件为当前索引>stop
若 [0:-4:-1],0转换为负索引-6<-4不满足,直接停止。
若[-1:-4:-1],从-1往前读:-1>-4,读n;-2>-4,读o;-3>-4,读h;-4=-4不满足,停止。结果: noh
代码
srt = intput() # 输入:python
print(str[::-1]) # 或 print(str[-1::-1]) 输出:nohtyp
2.reverse()
语法
list.reverse()
reverse()是python列表的一个内置方法,将字符串转换为列表进行使用。
该方法没有返回值,但是会对列表的元素进行反向排序(直接修改原列表,而不是产生一个新列表),打印才能看到结果。
代码
str1 = input() # 如输入:python
str1_list = list(str1) # ['p', 'y', 't', 'h', 'o', 'n']
str1_list.reverse() # 作用的结果是列表反转为[n,o,h,t,y,p],但不显示出来
print(''.join(str1_list)) # join()将列表中元素连接起来 输出:nohtyp
3.reversed()
语法
reversed(seq)
reversed()是python内置的函数,返回一个把序列值经过反转后的迭代器。
seq :要转换的序列。可以是列表list,元组tuple,字符串string或range
代码
str2 = input() # 如输入:python
print(''.join(reversed(str2)) # 输出:nohtyp
四、总结
字符串切片在仅反转一串字符串时最方便,不会修改原始列表;
reverse()仅适用于列表,可在反转列表时使用,列表元素多样时更适用,但直接修改原列表;
reversed()可用于反转任何可迭代对象(列表,元组,字符串等),不会直接修改原始数据。

240

被折叠的 条评论
为什么被折叠?



