python中str与list互换,txt文件的读取,字符串变成列表操作,另存为TXT时从列表变成字符串

file = open ("wider_face_train_bbx_gt.txt")
for line in lines:
    print(type(line)) #<type 'str'> #78 221 7 8 2 0 0 0 0
    a=(line.strip()).split("\t") #输出是字符串列表没改动原本的line,
    #原本的line没有改变,<type 'list'>
        a=line.split()  #<type 'list'>返回一个空格隔开的字符列表,
        #上面两行功能一样['78', '221', '7', '8', '2', '0', '0', '0', '0']
        # 都是把读取的TXT,字符串类型的数据变成,列表便于操作
        #保存成TXT文件,需要是转换成字符串类型

        #也有两种方法
        c=str(a[2:5]).replace('[','').replace(']','') #不加str 会错,把列表变成字符串,将字符串中的括号,引   号,逗号全部删除,默认有一个空格将数据分开
        c=c.replace("'",'').replace(',','') #输出7 8 2

#第二种方式
        txt=' '.join(a)#引号中间打出了一个空格。  直接把列表变成字符串操作

python中str与list互换

因为python的read和write方法的操作对象都是string。


而进行一些处理的时候会把string转换成list进行解析,解析后重新写入文件的时候,还得转换成string。


下面我通过例子,来表达如何进行string与list的转换


将string类型转换为list类型


     
  1. str = “I am a student”
  2. lis = str.split( ’ ‘)
  3. print lis

输出结果为:


将list类型转换为string类型


     
  1. str2 = ' '.join(lis)
  2. print str2

输出结果为:



则完成了二者类型的转换!

完整代码如下:


     
  1. str = "I am a student"
  2. lis = str.split( ' ')
  3. print lis
  4. str2 = ' '.join(lis)
  5. print str2



### 字符串冒泡排序的实现 对于字符串的冒泡排序,其基本原理数值型数据相同。该算法通过重复遍历要排序的数据列表来工作,在每次遍历依次比较相邻元素,并按需交换位置以达到逐步有序化的效果[^1]。 #### C语言中的字符串冒泡排序实例 在C语言环境下处理多个字符串,可以采用二维字符数组存储这些字符串,并利用`strcmp()`函数来进行两个字符串之间的大小对比操作;当发现前者大于后者,则借助临变量完成两者间内容互换的过程。下面给出一段具体的代码片段用于演示这一过程: ```c #include<stdio.h> #include<string.h> int main(){ int n, k; scanf("%d %d", &n, &k); char a[n][12]; getchar(); for (int i = 0; i < n; i++) { gets(a[i]); } for (int i = 0; i < k; i++) { // 控制排序轮数 for (int j = 0; j < n - i - 1; j++) { if (strcmp(a[j], a[j + 1]) > 0) { // 如果前一个字符串较大则交换 char temp[12]; strcpy(temp, a[j]); strcpy(a[j], a[j + 1]); strcpy(a[j + 1], temp); } } } for (int k = 0; k < n; k++) { puts(a[k]); } return 0; } ``` 这段程序首先读取输入参数指定数量的字符串存入到二维数组中,之后执行基于冒泡策略的升序排列逻辑,最后逐行打印已排序好的字符串集合[^5]。 #### Python版本下的字符串冒泡排序示例 而在Python环境中实施同样的功能会更加简洁明了。这里提供了一个简单易懂的例子展示如何运用内置的方法轻松达成目标: ```python def bubble_sort_string(str_list): length = len(str_list) for i in range(length): swapped = False for j in range(0, length - i - 1): if str_list[j] > str_list[j + 1]: # Swap the elements to arrange in ascending order str_list[j], str_list[j + 1] = str_list[j + 1], str_list[j] swapped = True if not swapped: break strs = ["apple", "orange", "banana", "grape"] bubble_sort_string(strs) print("Sorted list is:", strs) ``` 此段脚本定义了一个名为`bubble_sort_string`的功能函数接受待排序的一维字符串列表作为参数,内部实现了经典的双层循环结构配合条件判断语句完成了必要的元素置换动作直至整个序列变得完全有序为止。最终调用者可以通过外部传参的方式灵活控制具体的操作对象[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值