如何计算可能包含列表和字符串的变量中的字符

How to count characters in a variable which could contain a list and string

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

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

如果我需要打印的行 ("Test #",k, voltage_list) 计算结果为 Test # seven [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')

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

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))