Tôi cần phải "nối vào một chuỗi trong một vòng lặp". Để giải thích, tôi có danh sách này:
list = ['first', 'second', 'other']
Và bên trong một vòng lặp cho tôi cần kết thúc với điều này:
endstring = 'firstsecondother'
Bạn có thể cho tôi một manh mối về cách đạt được điều này trong Python?
Adam Zalcman
26.3k4 Huy hiệu vàng70 Huy hiệu bạc92 Huy hiệu Đồng4 gold badges70 silver badges92 bronze badges
Đã hỏi ngày 23 tháng 11 năm 2011 lúc 21:49Nov 23, 2011 at 21:49
2
Đó không phải là cách bạn làm điều đó.
>>> ''.join[['first', 'second', 'other']]
'firstsecondother'
là những gì bạn muốn.
Nếu bạn làm điều đó trong vòng lặp
endstring = 'firstsecondother'
8, thì nó sẽ không hiệu quả vì chuỗi "bổ sung"/concatenation không tỷ lệ tốt [nhưng tất nhiên là có thể]:>>> mylist = ['first', 'second', 'other']
>>> s = ""
>>> for item in mylist:
... s += item
...
>>> s
'firstsecondother'
Đã trả lời ngày 23 tháng 11 năm 2011 lúc 21:51Nov 23, 2011 at 21:51
Tim Pietzckertim PietzckerTim Pietzcker
Phù bằng vàng 319K5757 gold badges494 silver badges550 bronze badges
8
endstring = ''
for s in list:
endstring += s
Đã trả lời ngày 23 tháng 11 năm 2011 lúc 21:55Nov 23, 2011 at 21:55
1
Nếu bạn phải, đây là cách bạn có thể làm điều đó trong một vòng lặp:
mylist = ['first', 'second', 'other']
endstring = ''
for s in mylist:
endstring += s
Nhưng bạn nên xem xét sử dụng
endstring = 'firstsecondother'
9:''.join[mylist]
Đã trả lời ngày 23 tháng 11 năm 2011 lúc 21:57Nov 23, 2011 at 21:57
Adam Zalcmanadam ZalcmanAdam Zalcman
26.3k4 Huy hiệu vàng70 Huy hiệu bạc92 Huy hiệu Đồng4 gold badges70 silver badges92 bronze badges
1
Đã hỏi ngày 23 tháng 11 năm 2011 lúc 21:49
endstring = ''.join[list]
Đã trả lời ngày 23 tháng 11 năm 2011 lúc 21:51Nov 23, 2011 at 21:51
Tim Pietzckertim PietzckerÓscar López
Phù bằng vàng 319K5735 gold badges306 silver badges378 bronze badges
2
endstring = ''
for s in list:
endstring += s
Đã trả lời ngày 23 tháng 11 năm 2011 lúc 21:55
endstring = ""
mylist = ['first', 'second', 'other']
for word in mylist:
print "This is the word I am adding: " + word
endstring = endstring + word
print "This is the answer I get: " + endstring
Nếu bạn phải, đây là cách bạn có thể làm điều đó trong một vòng lặp:
Đã trả lời ngày 23 tháng 11 năm 2011 lúc 21:57Nov 23, 2011 at 21:57
Adam Zalcmanadam ZalcmanAurora
Điều này sẽ hoạt động:3 gold badges37 silver badges44 bronze badges
Nếu bạn có một danh sách các chuỗi và bạn muốn kết hợp chúng để tạo một chuỗi duy nhất được tạo thành từ các yếu tố này, bạn có thể sử dụng vòng lặp For.For loop.
list_of_strings = ['one', 'two', 'three']
my_string = ''
for word in list_of_strings:
my_string += str[word]
print["Final result:", my_string]
Với mỗi lần vượt qua của vòng lặp, từ tiếp theo được thêm vào cuối chuỗi. Kết quả là một từ duy nhất.
endstring = 'firstsecondother'
0Vấn đề với phương pháp này là không có dấu phân cách giữa các ký tự. Chúng ta có thể dễ dàng khắc phục điều đó bên trong vòng lặp. Chúng tôi sẽ tách các từ với dấu phẩy.
endstring = 'firstsecondother'
1Bây giờ, với mỗi lần vượt qua, có một từ và dấu phẩy được thêm vào cuối chuỗi.
Trước khi in kết quả, chúng tôi phải loại bỏ dấu phẩy ở cuối chuỗi, điều đó đã được thêm vào lần qua.
endstring = 'firstsecondother'
2Mã này gán biến My_String mà không có ký tự cuối cùng [là dấu phẩy] cho chính nó.my_string variable without the last character [which is a comma] to itself.
Ở cuối chuỗi, chúng ta sẽ thêm một dấu chấm.
endstring = 'firstsecondother'
3Nếu bạn chạy mã này, bạn sẽ nhận được kết quả này.
endstring = 'firstsecondother'
4Vòng lặp trong khi
Nếu bạn thích sử dụng vòng lặp trong khi, bạn cần tạo một biến đếm và biết có bao nhiêu từ trong danh sách.While loop, you need to create a counting variable and know how many words are there inside the list.
endstring = 'firstsecondother'
5Vòng lặp này tiếp tục đáp ứng yêu cầu khi biến bộ đếm thấp hơn số lượng từ trong danh sách. Mỗi lần biến bộ đếm được tăng lên.counter variable is lower than the number of words inside the list. Each time the counter variable is incremented.
endstring = 'firstsecondother'
6Mã này trả về kết quả tương tự như trước:
endstring = 'firstsecondother'
4