我是 Python 新手。我需要通過前兩個字符來序列化資料,這些字符取自給定字串中的第一個和最后一個字符加上轉置的數字,就像這樣:
Input: ["HOMAGE", "DESIGN", "PROTECTION", "COMPANY"]
Output: ["HE01", "DN02", "PN03", "CY04"]
以下是我當前的代碼:
ls = ["HOMAGE", "DESIGN", "PROTECTION", "COMPANY"]
ser = []
def serialize(lis):
for l in range(len(lis)):
ser = lis[l] str(l)
return ser
result = serialize(ls)
print(result)
我試圖剖析陣列,但沒有解決其他問題。
uj5u.com熱心網友回復:
這是一個list comprehension approach:
ls = ["HOMAGE", "DESIGN", "PROTECTION", "COMPANY"]
ser = [f"{j[0]}{j[-1]}{i 1:>02}" for i,j in enumerate(ls)]
print(ser)
我在上面做了什么?
- Using
f-strings可以更容易地創建帶有變數的字串。enumerate(iterable)回傳(index, value)可迭代的對。 j[0]并且j[-1]只是第一個和最后一個值。i 1:>02以 0 為前導回傳。index即1回傳01。1因為你不想00成為第一個但是01。
編輯:感謝@ILS
您也可以省略 1并直接從enumerate()1開始
ser = [f"{j[0]}{j[-1]}{i:>02}" for i,j in enumerate(ls, 1)]
檔案:
enumerate()
String Formatting
f-strings
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/532355.html
上一篇:提取熊貓資料框中的陣列串列值
