【问题标题】:How to count characters in a variable which could contain a list and string如何计算可能包含列表和字符串的变量中的字符
【发布时间】:2021-05-22 07:25:10
【问题描述】:

我需要在脚本运行期间打印一个标题,例如"Test #",k, voltage_list 其中 k 可以是字符串,电压列表类似于 [2.45, 2.51]。我想要完整计算该行中有多少个字符,因为它将被打印到控制台(包括空格、括号和小数点)。

我可以计算单个字符串字符,可以将列表内容转换为字符串并将它们组合起来,也可以直接将它们连接成一个字符串。

如果我需要打印的行 ("Test #",k, voltage_list) 评估为测试 #7 [2.45, 2.51] 我不知道如何考虑括号和小数点以及列表元素之间的空格

期望的输出

=========================
my_text more [1.23, 4.56]
=========================

代码

    the_list = [1.23, 4.56]

    mystr = ("my_text", "more", the_list)
    print(mystr)
    print('\n'*2)
    
    
    string_tot = 0
    for elem in mystr:        
        if isinstance(elem, str):
            string_count = len(elem)
            string_tot += string_count + 2
            print("string_tot : ", string_tot)
            print('\n')
        elif isinstance(elem, list):
            print("elem is list")
            elem_list_count = len(elem) + 2
            char_to_string = "".join(map(str, elem))
            print("char_to_string : ", char_to_string)
            list_count = len(char_to_string)
            print("list_count : ", list_count)
  
            string_tot += list_count
            print("string_tot : ", string_tot)
            print('\n')

【问题讨论】:

  • 您的预期输出究竟是什么?
  • 嗨 Krishna,如果我可以计算行中有多少个符号/字符(包括空格、括号和小数点),我想打印到控制台我可以用它来生成下划线和上划线。所以整数输出就可以了。
  • 只需使用len(s),其中sstr 对象。

标签: python list character string-length


【解决方案1】:

您可以创建最终字符串并获取其长度。例如:

the_list = [1.23, 4.56]
mystr = ("my_text", "more", the_list)

final_line = "{} {} {}".format(*mystr)

print("=" * len(final_line))
print(final_line)
print("=" * len(final_line))

【讨论】:

  • 仍然让我需要一个 8 的小提琴因子来解释标点符号(我认为)the_list = [1.23, 4.56] mystr = ("my_text", "more", the_list) final_line = " {} {} {}".format(*mystr) final_tot = len(final_line) +8 print(len(final_line)) print("="*final_tot, '\n', mystr, sep='')跨度>
  • 我已将代码添加到问题的底部,因为它不允许我将文本格式化为评论中的代码。
  • @Windy71 你不需要打印mystr,只需打印final_line,因为它已经是一个格式化字符串:)
  • 对不起 dukkee 我没有意识到打印未格式化的行所带来的不同,我太傻了。谢谢!
猜你喜欢
  • 1970-01-01
  • 2021-12-11
  • 2021-02-27
  • 2021-10-21
  • 1970-01-01
  • 2022-11-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多