我正在研究一些包含整数列表的代码,例如list1 = [1,2,3,4,5],我想打印出1 3 4 5
所以只需打印一个"新名单"没有第二个元素。
答案 0 :(得分:0)
您可以使用slicing正确使用索引(我假设您希望保持原始列表不变):
>>> list1[0:1] + list1[2:]
[1, 3, 4, 5]
一般来说,跳过i
元素(包括0
时):
>>> list1[0:i] + list1[i+1:]
答案 1 :(得分:0)
更具伸缩性的解决方案是提供您要排除的原始列表的索引位置。然后在该列表上enumerate并排除相关索引位置的值。
./a.out $(printf '1111111111111111111111111111\001')
答案 2 :(得分:0)
使用del并使用索引指定要删除的元素:
private async Task<UserProfile> getFacebookUserProfileInfo(string userId)
{
var claimsIdentity = await AuthenticationManager.GetExternalIdentityAsync(DefaultAuthenticationTypes.ExternalCookie);
if (claimsIdentity != null)
{
var facebookAccessTokenClaim = claimsIdentity.Claims.FirstOrDefault(c => c.Type.Equals("FacebookAccessToken"));
if (facebookAccessTokenClaim != null)
{
var fb = new FacebookClient(facebookAccessTokenClaim.Value);
dynamic myInfo = fb.Get("/v2.2/me?fields=id,name,gender,about,location,link,picture.type(large)");
var pictureUrl = myInfo.ContainsKey("picture") ? myInfo["picture"].data["url"] : null;
if (!String.IsNullOrWhiteSpace(pictureUrl))
{
string filename = Server.MapPath(string.Format("~/Uploads/user_profile_pictures/{0}.jpeg", userId));
await DownloadProfileImage(new Uri(pictureUrl), return new UserProfile
{
Gender = myInfo.ContainsKey("gender") ? myInfo["gender"] : null,
FacebookPage = myInfo.ContainsKey("link") ? myInfo["link"] : null,
ProfilePicture = !string.IsNullOrEmpty(pictureUrl) ? string.Format("/Uploads/user_profile_pictures/{0}.jpeg", userId) : null,
City = myInfo.ContainsKey("location") ? myInfo["location"]["name"] : null,
About = myInfo.ContainsKey("about") ? myInfo["about"] : null
};
}
}
return null;
}filename);
}
del [index]
将打印del list1[1];
**注意:1 3 4 5
,将从列表中删除元素,因此如果您认为您的列表完整无缺,以备将来使用,请务必小心。
答案 3 :(得分:0)
删除第二个元素可以通过数组切片完成。然后使用连接字符串方法。
removed = list1[0:1] + list1[2:]
print(' '.join([str(x) for x in removed]))
答案 4 :(得分:0)
你可以做一个简单的pop操作,它在python中是inbulit。
>>list1.pop(1)
>>[1, 3, 4, 5]
它将导致[1,3,4,5]存储在list1
中