有一个疑问
Topic sourceif instrance(s,str)如果是字符串,真,执行s.lower(),其他执行s,即保留。 if s.isalpha() ,s.isalnum,s.is_integer()是否字符,数字加字符,数字 一样实现
看到上面说怎么样保留数字,想出了一个比较笨的方法: L1 = ['Hello', 'World', 18, 'Apple', None] L2 = [s.lower() for s in L1 if isinstance(s,str)] for s in L1: if isinstance(s,int)==True: q = L1.index(s) a = len(L1[:q]) L2.insert(a,s) print(L2)
我是新手,欢迎各位大神们指点
保留数字18,如果直接添加语句 if isinstance(s.int) == true: L2.append(s.lower()) 报错类型是s.lower()没有定义 求大神告知怎么解决?
- 1
其实我在胡说八道
测试例程为: if L2 == ['hello', 'world', 'apple']: print('测试通过!') 此处由 [s.lower() for s in L if isinstance(s,str)] 创建的新list只取L1中的字符串类型元素,由于18不是字符串所以被忽略没有出现在L2中 如果要求同时保留其中的整数类型元素,有什么简便的方法?