python反转字符串的单词
时间: 2023-10-29 17:54:04 浏览: 116
要在Python中反转字符串的单词,有几种方法可以实现。首先,我们可以使用split()方法将字符串分割成单词列表,然后对每个单词进行反转,最后使用join()方法重新连接它们。这可以通过以下代码实现:
```python
def reverse_words(str):
words = str.split(' ') # 将字符串分割成单词列表
new_words = [word[::-1 for word in words # 反转每个单词
new_str = ' '.join(new_words) # 重新连接单词
return new_str
```
另外,我们还可以使用Python内置的reversed()函数对单词进行反转,然后使用join()方法重新连接它们。这可以通过以下代码实现:
```python
def reverse_words(str):
words = str.split(' ') # 将字符串分割成单词列表
new_words = [word[::-1 for word in words # 反转每个单词
new_str = ' '.join(reversed(new_words)) # 重新连接单词
return new_str
```
这两种方法都可以实现字符串单词的反转。具体使用哪种方法取决于个人的编程习惯和需求。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
相关问题
python字符串单词逆序输出、多空格,反转字符串中的单词字母顺序
好的,这是两个问题,我分别回答。
1. Python字符串单词逆序输出、多空格
你可以使用split()方法将字符串分割成单词,并将单词存储在列表中。然后,你可以使用反向索引(-1、-2等)以相反的顺序遍历该列表,并将每个单词添加到新的字符串中。在添加单词时,你可以添加一个空格以分隔单词。
代码示例:
```python
s = "Hello world! "
words = s.split()
new_s = ""
for i in range(len(words)-1, -1, -1):
new_s += words[i] + " "
print(new_s)
```
输出:
```
world! Hello
```
在这个例子中,我们使用split()方法将字符串分割成单词,并将这些单词存储在名为words的列表中。我们使用一个for循环以相反的顺序遍历该列表,并将每个单词添加到名为new_s的新字符串中。我们还在每个单词后添加了一个空格,以便在单词之间创建空格。
请注意,我们将for循环的第三个参数设置为-1,以便在每次迭代中减少i的值。这使得i从最后一个元素开始,并以相反的顺序遍历该列表。
2. 反转字符串中的单词字母顺序
你可以使用split()方法将字符串分割成单词,并将每个单词转换为列表。然后,你可以使用切片将每个单词反转,然后使用join()方法将这些单词组合成新的字符串。
代码示例:
```python
s = "Hello world!"
words = s.split()
for i in range(len(words)):
words[i] = words[i][::-1]
new_s = " ".join(words)
print(new_s)
```
输出:
```
olleH dlrow!
```
在这个例子中,我们使用split()方法将字符串分割成单词,并将这些单词存储在名为words的列表中。然后,我们使用一个for循环遍历该列表,并使用切片将每个单词反转。我们还使用join()方法将这些单词组合成名为new_s的新字符串。
请注意,在切片中,我们使用了步长为-1,这意味着我们从右向左遍历该单词。
python使用栈反转字符串“I am employee”中的单词
在Python中,你可以使用栈(Stack)的数据结构来反转"I am employee"这样的字符串中的单词。首先,你需要将字符串按空格分割成单个单词,然后一个个压入栈中,最后再逐个从栈中弹出并连接起来,就可以得到单词顺序反转后的字符串。
下面是一个简单的步骤描述:
1. 使用split()函数将字符串按照空格拆分成一个列表,每个元素都是一个单词。
2. 创建一个新的空列表或栈作为临时存储区。
3. 遍历原单词列表,将每个单词依次压入栈中。
4. 再次遍历栈,每次弹出一个单词,并添加到新的结果字符串的前面。
5. 最后返回反转后的字符串。
以下是相应的Python代码示例:
```python
def reverse_words_in_string(s):
# Step 1: 分割单词
words = s.split(' ')
# Step 2: 创建栈
stack = []
# Step 3: 将单词压入栈
for word in words:
stack.append(word)
# Step 4: 反转并连接单词
reversed_s = ''
while stack:
reversed_s += stack.pop() + ' '
# 删除末尾多余的空格
reversed_s = reversed_s.strip()
return reversed_s
input_str = "I am employee"
reversed_str = reverse_words_in_string(input_str)
print(reversed_str) # 输出 "employee am I"
阅读全文
相关推荐












