回路输出冗余

2024-04-28 23:29:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我试着把一个长typedef(C)分成几个字,然后打印每行的第二个字

variable = """int32_t  adc_cal_A;             / Simple point slope   calculation adjustment needed for the ADC */ \r\n
          int32_t  adc_cal_B;                 /* y = Ax + B */"""
list = variable.splitlines()

for line in list:
    wordlist =  line.split()

    for line in wordlist:
       output = wordlist[1][:-1]
       print output

它成功地打印了我测试列表中每行的第二个单词,但是它多次重复这个单词。结果如下:

adc_cal_A
adc_cal_A
adc_cal_A
adc_cal_A
adc_cal_A
adc_cal_A
adc_cal_A
adc_cal_A
adc_cal_A
adc_cal_A
adc_cal_A
adc_cal_A
adc_cal_A
adc_cal_B
adc_cal_B
adc_cal_B
adc_cal_B
adc_cal_B
adc_cal_B
adc_cal_B
adc_cal_B
adc_cal_B

Process finished with exit code 0

任何人都知道为什么会这样。有简单的解决办法吗


Tags: inforoutputlinesimple单词variableslope
1条回答
网友
1楼 · 发布于 2024-04-28 23:29:21

这里有一个简单的方法来实现你想要的:

variable = """int32_t  adc_cal_A;                 / Simple point slope   calculation adjustment needed for the ADC */ \r\n
          int32_t  adc_cal_B;                 /* y = Ax + B */"""

for num_line, line in enumerate(variable.splitlines()):
    try:
        print(f"line={num_line} token={line.split()[1]}")
    except Exception as e:
        # Probably line is empty?
        pass

输出:

line=0 token=adc_cal_A;
line=2 token=adc_cal_B;

如果您只想要第二个代币而不想要其他的好东西,请使用print(line.split()[1]),即:

adc_cal_A;
adc_cal_B;

相关问题 更多 >