如何同时保存数字和字符串在同一个数据结构里
时间: 2023-05-29 18:02:34 浏览: 139
有多种方法可以同时保存数字和字符串在同一个数据结构里,以下是其中几种方法:
1. 使用元组。元组可以包含不同类型的元素,可以将数字和字符串作为元组的不同元素存储。
2. 使用列表。列表也可以包含不同类型的元素,数字和字符串可以作为列表的不同元素存储。
3. 使用字典。字典可以将数字和字符串以键值对的形式存储。
4. 使用类。可以创建一个包含数字和字符串属性的类,然后将对象存储在数据结构中。
5. 使用numpy数组。numpy数组可以包含不同的数据类型,可以将数字和字符串存储在同一个数组中。
相关问题
如何同时保存字符串和数字在同一个numpy数组中
您可以使用numpy的结构数组(structured arrays)来保存字符串和数字。
创建一个结构数组有三个步骤:
1. 定义字段名称和数据类型;
2. 创建一个空结构数组,指定名称和数据类型;
3. 插入数据。
下面是一个例子:
``` python
import numpy as np
person_data_def = [('name', 'S6'), ('age', 'i4'), ('weight', 'f8')]
person_data = np.zeros((2,), dtype=person_data_def)
print(person_data)
```
这里定义一个结构数组,包括三个字段,名称分别为“name”,“age”和“weight”,数据类型为字符串(长度为6),整数(4字节)和浮点数(8字节)。
创建一个空的结构数组,使用`np.zeros()`,指定数组长度为2,数据类型为`person_data_def`。
打印结果如下:
```
[(b'', 0, 0.) (b'', 0, 0.)]
```
现在插入数据:
``` python
person_data[0] = ('Alice', 25, 55.3)
person_data[1] = ('Bob', 30, 65.2)
print(person_data)
```
输出结果如下:
```
[(b'Alice', 25, 55.3) (b'Bob', 30, 65.2)]
```
这样,我们就可以将字符串和数字同时保存在同一个numpy数组中了。
)数据输入: • 用input()函数从控制台一次输入多个整数,每个数字间用逗号隔开,保存在字符变量str中。(这时str中存储的是一个包含多个数字和逗号的字符串) • 用字符串处理方法str.split(",")处理变量str中的各数字,列表str_list中的元素为字符串类型的数字。 • 将字符串类型的数字变为数值数字: o 新建一个空列表ls o 用for item in str_list语法结构遍历str_list中的元素 o 用ls.append(item)方法在列表ls的最后增加一个元素item o 同时用eval()函数将item元素从字符串类型变为数字类型。
代码如下:
```python
str = input("请输入多个整数,用逗号隔开:")
str_list = str.split(",")
ls = []
for item in str_list:
ls.append(eval(item))
print(ls)
```
解释一下代码:
首先,我们使用`input()`函数从控制台获取一个字符串,该字符串包含多个整数,每个数字间用逗号隔开。这个字符串被保存在变量`str`中。
接下来,我们使用`split()`方法将变量`str`中的各数字分割成一个个字符串,存储在列表`str_list`中。
然后,我们新建一个空列表`ls`,并使用`for`循环遍历`str_list`中的每一个元素,即每一个字符串类型的数字。在循环中,我们使用`ls.append()`方法将每个元素添加到列表`ls`的最后,并使用`eval()`函数将每个元素从字符串类型变为数字类型。
最后,我们输出列表`ls`,即为输入的多个整数对应的数字列表。
阅读全文