我需要加入一个项目列表。列表中的许多项都是函数返回的整数值;也就是说,
myList.append(munfunc())
我应该如何将返回的结果转换为字符串,以便将其与列表连接?
我是否需要对每个整数值执行以下操作:
myList.append(str(myfunc()))
有没有更python化的方法来解决强制转换问题?
我需要加入一个项目列表。列表中的许多项都是函数返回的整数值;也就是说,
myList.append(munfunc())
我应该如何将返回的结果转换为字符串,以便将其与列表连接?
我是否需要对每个整数值执行以下操作:
myList.append(str(myfunc()))
有没有更python化的方法来解决强制转换问题?
当前回答
为什么没有人喜欢repr? python 3.7.2章:
>>> int_list = [1, 2, 3, 4, 5]
>>> print(repr(int_list))
[1, 2, 3, 4, 5]
>>>
不过要注意,这是一个显式表示。示例如下:
#Print repr(object) backwards
>>> print(repr(int_list)[::-1])
]5 ,4 ,3 ,2 ,1[
>>>
更多信息请访问pydocs-repr
其他回答
也许你不需要数字作为字符串,只需要:
functaulu = [munfunc(arg) for arg in range(loppu)]
稍后如果你需要它作为字符串,你可以用string或format string来做:
打印“Vastaus5 = %s”%函数
有三种方法。
假设你有一个整数列表
my_list = [100,200,300]
-".join(str(n) for n in my_list) "-".join([str(n) for n in my_list]) “-”。加入(地图(str, my_list))
然而,正如在python网站https://docs.python.org/2/library/timeit.html上的timeit示例中所述,使用地图更快。所以我建议你使用“-”。加入(地图(str, my_list))
可以使用python中的map函数。它需要两个参数。第一个参数是必须用于列表中的每个元素的函数。第二个参数是iterable。
a = [1, 2, 3]
map(str, a)
['1', '2', '3']
将列表转换为字符串后,可以使用简单的join函数将列表合并为单个字符串
a = map(str, a)
''.join(a)
'123'
例如:
lst_points = [[313, 262, 470, 482], [551, 254, 697, 449]]
lst_s_points = [" ".join(map(str, lst)) for lst in lst_points]
print lst_s_points
# ['313 262 470 482', '551 254 697 449']
对于我来说,我想在每个str列表之前添加一个str:
# here o means class, other four points means coordinate
print ['0 ' + " ".join(map(str, lst)) for lst in lst_points]
# ['0 313 262 470 482', '0 551 254 697 449']
或单列表:
lst = [313, 262, 470, 482]
lst_str = [str(i) for i in lst]
print lst_str, ", ".join(lst_str)
# ['313', '262', '470', '482'], 313, 262, 470, 482
lst_str = map(str, lst)
print lst_str, ", ".join(lst_str)
# ['313', '262', '470', '482'], 313, 262, 470, 482
调用str(…)是python将内容转换为字符串的方法。
您可能需要考虑为什么需要字符串列表。您可以将其保留为整数列表,仅在需要显示整数时将其转换为字符串。例如,如果你有一个整数列表,那么你可以在For循环中逐个转换它们,并用,连接它们:
print(','.join(str(x) for x in list_of_ints))