如何计算可能包含列表和字符串的变量中的字符
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))
我需要在脚本的 运行 期间打印标题,例如"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))