Trong Python, tôi có thể làm:Python String.Join (danh sách) trên mảng đối tượng chứ không phải là chuỗi mảng
>>> list = ['a', 'b', 'c']
>>> ', '.join(list)
'a, b, c'
Có cách nào dễ dàng để làm như vậy khi tôi có một danh sách các đối tượng?
>>> class Obj:
... def __str__(self):
... return 'name'
...
>>> list = [Obj(), Obj(), Obj()]
>>> ', '.join(list)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: sequence item 0: expected string, instance found
Hoặc tôi có phải sử dụng vòng lặp for không?
hoặc một biểu thức máy phát điện: '' .join (str (x) cho x trong danh sách) –
bất kỳ ý tưởng nào về chúng sẽ nhanh hơn? – gozzilli
Các thí nghiệm của tôi nói rằng danh sách hiểu có thể nhanh hơn 60% trên các danh sách nhỏ (thử nghiệm chạy 10^6 lần trong danh sách ba đối tượng() s). Tuy nhiên, hiệu suất của chúng tương tự nhau trên các danh sách lớn (thí nghiệm thứ 2 chạy một lần trên danh sách 10^7 đối tượng()). – gozzilli