Skip to main content
 首页 » 编程设计

Python,切片列表,步骤并仅提取第一个字符

2025年05月04日17java哥

我知道如何进行基本拼接。但是我想知道是否可以拼接一个列表,每第 10 个元素返回一次,并且只返回该元素的最后 2 个字符。

['1111',' 1112',' 1113',' 1114',' 1115',' 1116',' 1117',' 1118',' 1119',' 1120',' 1121',' 1122',' 1123',' 1124',' 1125',' 1126',' 1127',' 1128',' 1129',' 1130',' 1131',' 1132',' 1133',' 1134',' 1135',' 1136',' 1137',' 1138',' 1139',' 1140',' 1141',' 1142',' 1143',' 1144',' 1145',' 1146',' 1147',' 1148',' 1149',' 1150',' 1151',' 1152',' 1153',' 1154',' 1155',' 1156',' 1157',' 1158',' 1159',' 1160',' 1161',' 1162',' 1163',' 1164',' 1165',' 1166',' 1167',' 1168',' 1169',' 1170',' 1171',' 1172',' 1173',' 1174',' 1175',' 1176',' 1177',' 1178',' 1179',' 1180',' 1181',' 1182',' 1183',' 1184',' 1185',' 1186',' 1187',' 1188',' 1189',' 1190',' 1191',' 1192',' 1193',' 1194',' 1195',' 1196',' 1197',' 1198',' 1199'] 

我可以毫无问题地获取每 10 个字符串;

>>test[::10] 
['1111', ' 1121', ' 1131', ' 1141', ' 1151', ' 1161', ' 1171', ' 1181', ' 1191'] 

我怎样才能得到上面字符串中的最后两个字符

所以我尝试了这个但它不起作用。

test[::10][-2::] 
[1181',' 1191] 

请您参考如下方法:

您必须使用列表推导来对包含的元素应用切片:

[v[-2:] for v in test[::10]] 

这给出:

>>> [v[-2:] for v in test[::10]] 
['11', '21', '31', '41', '51', '61', '71', '81', '91'] 

test[::10] 返回一个列表本身,而 [-2::] 只是从该列表中取出最后两个元素,并不应用它切片到列表的包含元素。