簡體   English   中英

如何刪除列表中元素的最后2個字符?

[英]How do I remove the last 2 characters of an element in a list?

我正在嘗試在下面的列表中刪除每個項目的最后2位數字。

keys = ['2013', '1101', '1201', '1301', '1401', '1402', '1403', '2100', '2150', '3201', '5201', '5301', '9810', '9820', '9830', '2013', '1101', '1201', '1202', '1301', '1304', '1401', '1402', '1403', '2100', '2150', '3401', '5201', '5301', '9810', '9820', '9830', '2013', '1101', '5201', '2013', '1101', '1201', '1401', '1402', '1403', '2100', '5201', '5301', '5402', '9810', '9820', '9830', '2013']

for n,k in keys:
  keys[n] = keys[n][0]+keys[n][1]

我不斷收到ValueError:太多值無法解包

這里不需要正則表達式...簡單的切片就可以解決問題:

keys = [k[:-2] for k in keys]

這實際上並沒有,但是可以很容易地做到:

keys[:] = [k[:-2] for k in keys]

因為keys是長度為4的字符串的列表,所以您收到錯誤消息

for n,k in keys:

無法工作,因為不能將長度為4的字符串解包到2個變量nk

無論如何,這是另一種選擇:

map(operator.itemgetter(slice(-2)), keys)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM