python2,从文件中读取出的字符串list,转化为set时,会自动加上双引号
时间: 2024-03-08 11:49:13 浏览: 18
是的,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输入一个非空字符串,去除重复的字符后,从小到大排序输出为一个新字符串。
可以用Python中的字符串方法来去除重复的字符,然后再按照大小排序输出新的字符串。具体方法如下:
1. 将字符串存储到一个变量中,可以使用单引号或双引号将字符串包起来。
2. 使用set()函数将字符串转换成集合,去除重复的字符。
3. 将集合转换成列表,并用sort()方法对列表进行大小排序。
4. 使用join()方法将排好序的列表转换成字符串,存储到一个新的变量中。
5. 输出新的字符串变量。
代码示例:
```
str1 = 'python输入一个非空字符串,去除重复的字符后,从小到大排序输出为一个新字符串。'
# 转换成集合并去重
set1 = set(str1)
# 转换成列表并排序
list1 = list(set1)
list1.sort()
# 转换成字符串并输出
str2 = ''.join(list1)
print(str2)
```
输出结果为:
```
上入串出去到字字符串空非小大,新为重。输入,排序python一。
```
针对Python中的列表、元组、字典、集合、字符串,请以条目形式从各方面对比它们之间的异同。
好的,针对Python中的列表、元组、字典、集合、字符串,以下是它们之间的异同:
列表(List):
- 有序可变序列,可以包含不同类型的元素
- 用[]表示
- 可以进行增删改查等操作
- 适用于需要有序存储数据的场景
元组(Tuple):
- 有序不可变序列,可以包含不同类型的元素
- 用()表示
- 只能进行查询操作,不能增加、删除、修改元素
- 适用于需要保存一些常量数据的场景
字典(Dictionary):
- 无序可变序列,由键值对组成,键必须是不可变类型,值可以是任意类型
- 用{}表示,每个键值对使用冒号(:)分隔
- 可以进行增删改查等操作
- 适用于需要以键值对方式存储数据的场景
集合(Set):
- 无序可变序列,只包含不同的元素,没有重复值
- 用{}或set()表示,每个元素之间用逗号分隔
- 可以进行增删查等操作
- 适用于需要进行集合运算的场景,如并集、交集、差集等
字符串(String):
- 有序不可变序列,由字符组成
- 用单引号、双引号或三引号表示,三引号可以表示多行字符串
- 可以进行查询操作,不能对单个字符进行修改
- 适用于处理文本等字符数据的场景
以上是针对Python中的列表、元组、字典、集合、字符串的异同点,希望能对你有所帮助。