python如何将一串字符串依次存入列表中
时间: 2024-11-20 12:36:18 浏览: 23
在Python中,你可以通过多种方式将一串字符串逐个添加到列表中。这里有几个常见的方法:
1. 列表推导式:
```python
string = "a string b another c yet another"
strings_list = [word for word in string.split()]
```
这里`split()`函数会将字符串按照空格分割成多个子字符串,然后存储在列表中。
2. 使用append()循环:
```python
string = "a string b another c yet another"
strings_list = []
for word in string.split():
strings_list.append(word)
```
这种方法通过遍历并逐个添加子字符串。
3. 使用extend()方法:
```python
string = "a string b another c yet another"
strings_list = string.split()
```
`extend()`直接将`split()`的结果添加到列表末尾。
无论哪种方法,最后`strings_list`都会包含原始字符串中的每个单词作为一个单独的元素。
相关问题
用Python语言在pycharm中编写函数,接收一个字符串,返回其中每个字符的最后一次出现,并按每个字符最后一次出现的先后顺序依次存入列表。
在PyCharm中,你可以创建一个名为`last_occurrences`的函数,它接受一个字符串作为输入,然后遍历整个字符串,记录每个字符最后一次出现的位置。最后将这些位置按照字符的ASCII值排序(因为Python默认字符串的排序是基于Unicode编码的),并将结果存储在一个列表里。以下是这个函数的一个实现:
```python
def last_occurrences(input_string):
# 创建一个空字典来保存每个字符及其最后出现的位置
char_positions = {}
# 遍历字符串,更新每个字符最后一次出现的位置
for i, char in enumerate(input_string):
if char in char_positions:
char_positions[char] = max(char_positions[char], i)
else:
char_positions[char] = i
# 将字典转换为列表,按ASCII值排序
sorted_list = sorted(char_positions.items(), key=lambda x: x[0])
# 提取字符并返回排序后的列表
result = [char for char, pos in sorted_list]
return result
# 示例:
input_str = "hello world"
print(last_occurrences(input_str))
```
输入一个字符串str1,把其中的连续非数字的字符子串换成一个‘*’,存入字符数组str2 中,所有数字字符也必须依次存入 str2 中。输出str2。
可以使用正则表达式来实现这个功能。
具体步骤如下:
1. 定义一个正则表达式,用来匹配非数字字符子串。
2. 使用正则表达式的 split() 方法,将字符串 str1 按照非数字字符子串分割成一个数组。
3. 遍历数组,将非数字字符子串替换成 '*',并将数字字符依次存入 str2 中。
4. 输出 str2。
代码示例:
```python
import re
str1 = 'abc123def456ghi'
regex = r'\D+' # 匹配非数字字符子串的正则表达式
# 使用正则表达式的 split() 方法分割字符串
arr = re.split(regex, str1)
# 遍历数组,将非数字字符子串替换成 '*'
str2 = ''
for s in arr:
if s:
if s.isdigit():
str2 += s
else:
str2 += '*'
print(str2) # 输出 str2
```
输出结果为:
```
*123*456*
```
阅读全文