[英]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个变量n
和k
。
无论如何,这是另一种选择:
map(operator.itemgetter(slice(-2)), keys)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.