Python 输入嵌套列表中每一个子列表的第二个元素
时间: 2023-06-11 17:09:55 浏览: 73
可以使用循环遍历嵌套列表中的每一个子列表,然后取出每个子列表的第二个元素。例如:
```python
my_list = [['apple', 2], ['banana', 5], ['orange', 3]]
for sub_list in my_list:
print(sub_list[1])
```
输出结果为:
```
2
5
3
```
你也可以使用列表推导式来实现相同的功能:
```python
my_list = [['apple', 2], ['banana', 5], ['orange', 3]]
second_elements = [sub_list[1] for sub_list in my_list]
print(second_elements)
```
输出结果为:
```
[2, 5, 3]
```
相关问题
输入一个嵌套列表nums,再输入一个层数n,求该层的数字元素个数。Python
代码如下:
```python
def count_elements(nums, n):
if n <= 0:
return 0
if n == 1:
return len(nums)
count = 0
for elem in nums:
if isinstance(elem, list):
count += count_elements(elem, n-1)
return count
```
其中,第一个if语句判断层数是否小于等于0,若是则直接返回0;第二个if语句判断层数是否为1,若是则返回该层的元素个数;循环遍历嵌套列表,若元素是列表,则递归调用本函数,层数减1,将返回的元素个数累加到计数器中,最后返回计数器的值即可。
用python解决输入一个嵌套列表,再输入层数,求该层的元素个数。如果求第二层次的元素个数,但是第二层次还有第三层次嵌套,则嵌套列表算一个元素。
可以使用递归实现该功能。具体思路如下:
1. 定义一个函数,输入为嵌套列表和层数。
2. 如果层数为1,则返回列表的长度。
3. 否则,遍历列表中的每个元素,如果元素是列表,则递归调用该函数并将层数减1,得到该元素所在层次的元素个数,累加到总个数中。如果元素不是列表,则直接将该元素所在层次的元素个数加1并累加到总个数中。
4. 返回总个数。
代码实现如下:
```python
def count_elements(lst, level):
if level == 1:
return len(lst)
count = 0
for element in lst:
if isinstance(element, list):
count += count_elements(element, level-1)
else:
count += 1
return count
```
可以使用以下代码测试该函数:
```python
lst = [1, [2, [3, 4], 5], 6, [7, 8]]
level = 2
count = count_elements(lst, level)
print(f"The number of elements at level {level} is {count}")
```
输出结果为:
```
The number of elements at level 2 is 4
```
解释:在输入的嵌套列表中,第二层有3个元素,其中有一个元素是列表,该列表中有2个元素,因此总共有4个元素在第二层。注意,第三层的嵌套列表被算作一个元素。