python2,从文件中读取出的字符串list,转化为set时,与直接list转化为set不同
时间: 2024-03-08 17:49:23 浏览: 13
在 Python2 中,从文件中读取出的字符串列表和直接字符串列表转换为 set 的方式是有差别的。具体来说,从文件中读取出的字符串列表中每个字符串都包含一个换行符,而直接字符串列表则不包含换行符。因此,如果你直接使用文件中读取出的字符串列表转换为 set,那么 set 中会包含额外的换行符,而这些换行符可能会影响你后续的操作。为了避免这个问题,你需要先使用 strip() 方法去掉每个字符串中的换行符,然后再将处理过的字符串列表转换为 set。示例代码如下:
```
# 从文件中读取字符串列表
with open('file.txt', 'r') as f:
lines = f.readlines()
# 去掉每个字符串中的换行符
lines = [line.strip() for line in lines]
# 将处理过的字符串列表转换为 set
my_set = set(lines)
```
相关问题
python2,从文件中读取出的字符串list,转化为set时,会自动加上双引号
是的,Python2 中 `set` 函数在处理字符串列表时,会将每个字符串加上双引号,形成一个包含字符串的集合。例如,对于以下字符串列表:
```python
['nodejslinux64.1', 'jre18linux64.1', 'minio.1']
```
使用 `set` 函数转换后,得到的集合为:
```python
set(['nodejslinux64.1', 'minio.1', 'jre18linux64.1'])
```
其中,每个字符串都被加上了双引号。
如果你需要将这些字符串转换为没有双引号的形式,可以使用 Python2 中的列表推导式和 strip 函数。例如,可以使用以下代码将字符串列表转换为集合:
```python
with open('filename.txt', 'r') as f:
string_list = [line.strip() for line in f]
my_set = set([s.strip('"') for s in string_list])
```
这里首先使用列表推导式和 strip 函数将文件中的每一行字符串去掉空格和换行符,得到一个字符串列表。然后使用列表推导式和 strip 函数将双引号去掉,得到一个没有双引号的字符串列表。最后,可以将这个字符串列表转换为集合,得到一个没有双引号的集合。
python如何将字符串格式的list转化为list
可以使用 `ast` 模块的 `literal_eval()` 函数来实现字符串格式的 list 转化为 list。
示例代码如下:
```python
import ast
string_list = "['apple', 'banana', 'orange']"
list_from_string = ast.literal_eval(string_list)
print(list_from_string)
```
输出结果为:
```
['apple', 'banana', 'orange']
```
其中,`ast.literal_eval()` 函数会将输入的字符串格式的 Python 表达式转化为对应的 Python 对象,例如 list、tuple、dict、set 等。但是,这个函数只能处理字面值表达式,不能处理任意的 Python 代码。如果输入的字符串不是合法的 Python 表达式,会抛出 `ValueError` 异常。因此,在使用 `ast.literal_eval()` 函数时,一定要注意输入的字符串是否符合 Python 表达式的语法规则。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)