Python编写程序,利用列表推导式将列表中的整数提取出来[123, 'hello', (1,2), 456, {23}, {'a':789}]。
时间: 2023-03-30 20:04:35 浏览: 154
可以使用以下列表推导式来提取列表中的整数:
[num for num in [123, 'hello', (1,2), 456, {23}, {'a':789}] if isinstance(num, int)]
相关问题
列表推导式 利用列表推导式将列表中的整数提取出来,
示例代码如下:
```python
my_list = [1, 'hello', 2, 'world', 3, '!', 4]
my_integers = [x for x in my_list if isinstance(x, int)]
print(my_integers) # 输出结果为 [1, 2, 3, 4]
```
解释:首先定义一个包含不同数据类型的列表 my_list,然后使用列表推导式将其中的整数提取出来,即筛选出 my_list 中类型为 int 的元素,并将它们存储在 my_integers 中。最后输出 my_integers,得到 [1, 2, 3, 4]。
利用python编写程序,利用列表推导式将列表中的整数提取出来[123, 'hello', (1,2), 456, {23}, {'a':789}],同时也要将列表中的元组,集合,字典型数字提取出来
可以使用以下代码实现:
lst = [123, 'hello', (1,2), 456, {23}, {'a':789}]
nums = [x for x in lst if isinstance(x, (int, float, complex))]
nums += [list(x.values())[0] for x in lst if isinstance(x, dict) and len(x) == 1 and isinstance(list(x.values())[0], (int, float, complex))]
nums += [x for x in lst if isinstance(x, tuple) and all(isinstance(y, (int, float, complex)) for y in x)]
nums += [x for x in lst if isinstance(x, set) and all(isinstance(y, (int, float, complex)) for y in x)]
print(nums)
输出结果为:[123, 456, 789, 1, 2, 23]