我知道如何进行基本拼接。但是我想知道是否可以拼接一个列表,每第 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::] 只是从该列表中取出最后两个元素,并不应用它切片到列表的包含元素。
