【发布时间】:2017-08-10 05:50:02
【问题描述】:
我想将一个列表中的整数和字符串元素分成两个不同的列表。 即
list1=[1,"Red",2,"Blue",3,"Pink",4,"White",5,"Yellow"]
分离成
intList=[1,2,3,4,5]
strList=["Red","Blue","Pink","White","Yellow"]
我写了这段代码
import string
digits=string.digits
strings=string.letters + '_' + digits
list1=[1,"Red",2,"Blue",3,"Pink",4,"White",5,"Yellow"]
number=[]
string=[]
for item in list1:
if item in digits:
number.append(item)
if item in strings:
string.append(item)
print "List of String is:",string
print "List of Digits is:",number
但它给出了一个错误:“'in'需要字符串作为左操作数,而不是int”
如何将这个程序写成另一种方式?
【问题讨论】:
-
我相信您希望
isinstance(..., int)检查某事是否为数字 -
注意
strings是一个字符串,通常是'1234567890'。您只能使用其他字符串对此进行包含测试因此错误消息会通知您类型不匹配,因为1不是字符串。是的,使用isinstance()。 -
.@dhke 谢谢...
标签: python python-2.7