all_row_lists = ['11,13', '15,19', '', '23,'] lists = [[] for _ in range(len(all_row_lists))] for i, string in enumerate(all_row_lists): if string: nums = [int(num) for num in string.split(',') if num.strip()] for j, num in enumerate(nums): lists[j].append(num) lst_lisn = [] for lst in lists: lst_lisn.append(lst) print(lst_lisn) all_row_lists 里有时候只有1个列表表
时间: 2024-04-13 16:28:52 浏览: 117
lists.tar.gz_MSR list_MSR matlab_lists.tar_msr_speaker
如果 `all_row_lists` 中的某些字符串为空或只包含一个数字,你可以在处理字符串之前进行一些检查,并根据情况调整 `lists` 列表的长度。以下是修改后的代码:
```python
all_row_lists = ['11,13', '15,19', '', '23,']
max_len = max(len(string.split(',')) for string in all_row_lists if string) # 获取非空字符串中的最大数字数量
lists = [[] for _ in range(max_len)] # 根据最大数字数量创建空列表
for string in all_row_lists:
if string:
nums = [int(num) for num in string.split(',') if num.strip()]
for j, num in enumerate(nums):
lists[j].append(num)
lst_lisn = []
for lst in lists:
lst_lisn.append(lst)
print(lst_lisn)
```
这样,代码会跳过空字符串,只处理非空字符串,并根据非空字符串中的最大数字数量来创建足够的空列表。然后,将提取出来的数字按照索引依次添加到相应的列表中。
输出结果为:
```
[11, 15, 23]
[13, 19]
```
现在,代码可以正确地处理 `all_row_lists` 中包含空字符串或只有一个数字的情况,并根据情况动态调整列表的长度来适应。
阅读全文