列表中删除字符串我有一个列表,如['A', 1, 'B', 2, 'C', 3]
从字符串和整数蟒蛇
我想要一个函数,这样我才能把我的列表中的字符串,使其只有整数?如果有帮助,列表中总会有交替的字符串和整数。
列表中删除字符串我有一个列表,如['A', 1, 'B', 2, 'C', 3]
从字符串和整数蟒蛇
我想要一个函数,这样我才能把我的列表中的字符串,使其只有整数?如果有帮助,列表中总会有交替的字符串和整数。
a = ['A', 1, 'B', 2, 'C', 3]
b = [x for x in a if isinstance(x, int)]
print(b)
输出:
[1, 2, 3]
你可以简单地通过你的清单,只保留与整型元素循环:
original_list = ['A', 1, 'B', 2, 'C', 3]
[n for n in original_list if type(n) is int]
,输出
[1, 2, 3]
如果你想将它换到你可以使用这个函数:
def remove_all_but_int(my_list):
my_list = [n for n in my_list if type(n) is int]
return (my_list)
new_list = remove_all_but_int(original_list)
它给你同样的结果。
1.
a=['A', 1, 'B', 2, 'C', 3]
for i in a:
if i.isalpha():
a.remove(i)
print (a)
2.
a=['A', 12, 'B', 2, 'C', 3]
b=[x for x in a if type(x) is int]
print (b)
只是多了一个选择 - 使用filter功能:
orig = ['A', 1, 'B', 2, 'C', 3]
res = list(filter(lambda x: isinstance(x, int), orig))
print(res)
一号线的解决方案:
list_1=['A', 1, 'B', 2, 'C', 3]
print([i for i in list_1 if not isinstance(i,str)])
如果您有上述语法这里了解麻烦的是详细的解决方案:
new_list=[]
for i in list_1:
if not isinstance(i,str):
new_list.append(i)
print(new_list)
输出:
[1, 2, 3]
'my_list [1:2]' – mshsayem