赵灵越 2023-01-10 13:52 采纳率: 99.3%
浏览 23
已结题

列表推导式之文字组合问题,怎么插入“不”,到“明白清楚了解”前面,使之完成文字组合?

z = '''
我
知道,了解,明白,清楚2
我被搞了
'''
# 末尾标记为2的行,或者数字,每个插入“不”
'''
不知道,不了解,不明白,不清楚
'''

# 我想要打印的最终结果,print
'''
我 知道 我被搞了
我不知道 我被搞了
我 了解 我被搞了
我 不了解 我被搞了
我 明白 我被搞了
我 不明白 我被搞了
……
  • 写回答

2条回答 默认 最新

  • a5156520 2023-01-10 14:33
    关注

    我是按如下思路解题的:

    1、首先,把z按换行符分隔成列表;

    2、然后,遍历这个列表,把结尾为2的那一行按','分隔成一个列表,不是以2结尾的添加到另一个列表;

    3、最后,遍历结尾为2的那个列表,打印拼接了'不'和没拼接'不'的各字符串即可。

    代码如下:

    参考链接:




    z = '''
    我
    知道,了解,明白,清楚2
    我被搞了
    '''
    # 末尾标记为2的行,或者数字,每个插入“不”
    '''
    不知道,不了解,不明白,不清楚
    '''
     
    # 我想要打印的最终结果,print
    '''
    我 知道 我被搞了
    我不知道 我被搞了
    我 了解 我被搞了
    我 不了解 我被搞了
    我 明白 我被搞了
    我 不明白 我被搞了
    ……
    '''
    #  https://www.bilibili.com/read/cv17429170/
    content=z.split('\n') # 把z按换行符分隔成字符串列表
    #print(content)
    addNoStr=[] # 存储结尾为'2'的那一样
    firstEnd=[]  # 存储第一行和第三行
    
    for s in content:  #遍历字符串的列表
        if len(s)!=0:  #如果此行不为空
            #print("s=",s)
            # https://blog.csdn.net/iprobobo/article/details/123456004
            # https://blog.csdn.net/liujingwei8610/article/details/121391212
            if s.endswith("2"): # 并且是以'2' 结尾,把此行去除'2'后按','分隔成列表
                # http://www.45fan.com/article.php?aid=1CZEIrox2010ddY0
                addNoStr=s.strip('2').split(',')
            else: # 如果不是以2为结尾,则添加到另一个列表
                firstEnd.append(s)
    
    for s2 in addNoStr:  # 遍历需要添加'不'的字符串列表
        print(firstEnd[0]+s2+firstEnd[1]) # 首先打印没有'不'的拼接字符串
        print(firstEnd[0]+"不"+s2+firstEnd[1]) # 再打印添加了'不'的拼接字符串
                
                
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 1月18日
  • 已采纳回答 1月10日
  • 创建了问题 1月10日

悬赏问题

  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 关于大棚监测的pcb板设计
  • ¥15 stm32开发clion时遇到的编译问题
  • ¥15 lna设计 源简并电感型共源放大器
  • ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)