我有兩個串列,我需要按照串列 2 中的字符順序將匹配的字符列印到字串中。如果沒有匹配,我需要列印“-”而不是那個字符。最終字串應具有與串列 2 相同的字符長度
示例 1:
list 1 = ["r", "w", "d"]
list 2 = ["w", "o", "r", "d"]
預期輸出 = W - RD
示例 2:
list 1 = ["r"]
list 2 = ["w", "o", "r", "d"]
預期產出 = - - R -
uj5u.com熱心網友回復:
您可以使用串列理解來檢查實際單詞 ( list2) 中的字符是否存在于list1-
list1 = ["r", "w", "d"]
list2 = ["w", "o", "r", "d"]
print(' '.join([i.upper() if i in list1 else '-' for i in list2]))
輸出 -
W - R D
您可以選擇從 list1 創建一個集合,以便在字長很大的情況下更快地查找 -
given_words = set(list1)
print(' '.join([i.upper() if i in given_words else '-' for i in list2]))
uj5u.com熱心網友回復:
您可以通過串列理解來執行此操作,確保將大小寫更改為大寫,然后通過解包串列進行列印
list_1 = ["r", "w", "d"]
list_2 = ["w", "o", "r", "d"]
print(*[e.upper() if e in list_1 else '-' for e in list_2])
輸出:
W - R D
(可選)解壓縮生成器:
print(*(e.upper() if e in list_1 else '-' for e in list_2))
uj5u.com熱心網友回復:
這里有一個解決方案:
list1 = ["r"]
list2 = ["w", "o", "r", "d"]
for c in list2:
if c in list1: print(c.upper(), end=' ')
else: print('-', end=' ')
> Output:
> - - R -
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/531324.html
標籤:Python细绳列表
