我有一個包含一些字串的串列,我想在串列中的每個字串之前添加一些預定義的值,但迭代結束時的值應該不同
這是清單
lst = ['USER_INVITE','USER_LEAVE','GIVEAWAY_START','GIVEAWAY_EDIT','USER_INVITE','USER_LEAVE']
預期的輸出是
<:878677713269968896:909470525108154399> USER_INVITE
<:878677713269968896:909470525108154399> USER_LEAVE
<:878677713269968896:909470525108154399> GIVEAWAY_START
<:878677713269968896:909470525108154399> GIVEAWAY_EDIT
<:878677713269968896:909470525108154399> USER_INVITE
<:878677686350934027:910454682219085834> USER_LEAVE
在這里您可以看到之前的值USER_LEAVE與其他值不同
我可以簡單地做這樣的事情來將這些值放在沒有回圈的字串之前
logs = '<:878677713269968896:909470525108154399>\n'.join(map(str,keys[I]))
在這種情況下,迭代可能會通過在回圈結束時做其他事情來幫助
uj5u.com熱心網友回復:
使用迭代和一些圍繞識別串列中最后一項的控制流邏輯,可以按如下方式完成:
output_str = ""
for i, item in enumerate(lst):
if i == len(lst) - 1: # Logic for identifying the last element
prefix = '<:878677686350934027:910454682219085834>'
else: # If not the last element in the list, do this:
prefix = '<:878677713269968896:909470525108154399>'
output_str = f'{prefix} {item}\n'
uj5u.com熱心網友回復:
output_str = ""
for item in lst[:-1]:
output_str = f'<:878677686350934027:910454682219085834> {item}\n'
output_str = f'<:878677713269968896:909470525108154399> {lst[-1]}'
uj5u.com熱心網友回復:
您可以只處理除最后一個以外的每個鍵,然后在最后組合輸出。
a = "\n".join('<:878677713269968896:909470525108154399>' key for key in lst[:-1])
b = '<:878677686350934027:910454682219085834>' lst[-1]
a b
'<:878677713269968896:909470525108154399>USER_INVITE\n<:878677713269968896:909470525108154399>USER_LEAVE\n<:878677713269968896:909470525108154399>GIVEAWAY_START\n<:878677713269968896:909470525108154399>GIVEAWAY_EDIT\n<:878677713269968896:909470525108154399>USER_INVITE<:878677686350934027:910454682219085834>USER_LEAVE'
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/404658.html
標籤:
