Python入门100个实例(39)——字符串对象的join方法

从本例学到什么

  1. 字符串对象的join方法的用法。
  2. 编程题目要求“行末不得有多余的空格”,代码中该怎么做到。

实例程序

题目描述

从列表中删除元素
删除列表中所有符合条件的值。

输入格式:
输入n,代表要测试n次。每次测试:
首先,输入1行字符串(字符串内的元素使用空格分隔)
然后,输入要删除的元素x。

输出格式:
输出删除元素x后的每行字符串。如果元素全部被删除,则输出空行。
注意:行尾不得有多余的空格。

输入样例:
5
1 1 1 2 1 2 1 1 1
1
1 1 1 2 2 2 1 1 1
2
ab ab ab cd cd de de
ab
1 1 1 1
1
x y x x x z
t

输出样例:
2 2
1 1 1 1 1 1
cd cd de de

x y x x x z

来源
PTA网站

上述题目的参考答案

n = int(input())
for i in range(n):  #对于每一组数据
    words = input().split()  #读入一行字符串,分割得到字符串列表
    t = input()  #读入要去除的值
    remains = []  #存储去除t之后的元素的结果列表
    for w in words:
        if w != t:  
            remains.append(w)  #如果元素的值不等于t,则保留
    print(" ".join(remains))  #输出结果列表

知识点讲解

  1. 上述代码中,最后一行中的" “.join(remains)调用了字符串对象的join方法。这里,” "是空格字符串,remains列表是方法的参数。对象的方法其实是一个函数,一个特殊的函数。
  2. 调用join方法的写法是: 字符串对象.join(字符串序列)。要强调的是,参数必须是序列(如列表、元组等),而且元素是字符串类型的。如果元素不是字符串类型的,那么运行该次调用将导致程序出错。
  3. 调用join方法的作用是把参数内的各个字符串元素连接成一个字符串。
  4. 下面的调用中,双引号内是一个空格,返回的结果是"1 2 3"。结果是一个字符串,取自参数的三个元素之间用空格间隔。末尾没有多余的空格。
 " ".join(['1', '2', '3'])
  1. 下面的调用中,双引号内是一个逗号,返回的结果是"1,2,3"。结果是一个字符串,取自参数的三个元素之间用逗号间隔。末尾没有多余的空格或逗号。
 ",".join(['1', '2', '3'])
  1. 下面的调用中,双引号内是一个两个中划线,返回的结果是"a–b--c"。结果是一个字符串,取自参数的三个元素之间用两个中划线间隔。末尾没有多余的中划线或空格。
 "--".join(['a', 'b', 'c'])
  1. 下面的调用中,双引号内是一个空字符,不是空格字符,返回的结果是"abc"。结果是一个字符串,取自参数的三个元素之间没有间隔。末尾没有多余的空格。空字符是没有内容的字符。
 "".join(['a', 'b', 'c'])

小结

  1. 学习join方法的用法,要抓住调用join方法的写法和含义。上一节给出了讲解和举例。
  2. join方法适合“用在输出一组数,要求行末尾不得有多余的空格”的情形。
  3. 调用join方法,参数必须是字符串元素组成的序列(如列表、元组)。

你可能感兴趣的:(Python入门100个实例,Python编程)