在python中如何将列表中的数按每行5个数,每个数占8格的方式输出
时间: 2024-10-20 17:13:46 浏览: 27
在Python中,你可以使用`enumerate()`函数配合`join()`和`\t`(制表符)来实现这个需求。这里是一个示例:
```python
def print_numbers(numbers, width=8):
for i, num in enumerate(numbers, start=1): # 使用enumerate从1开始计数
row = [str(num).rjust(width) for num in numbers[i-1:i+5]] # 取每行5个数,并右对齐填充到8格宽
if len(row) == 5: # 如果还有剩余的数,则完整打印一行
print(' '.join(row))
else: # 否则只打印当前行
print(' '.join(row[:len(row)]))
# 示例列表
numbers = list(range(1, 61)) # 生成一个1到60的整数列表
print_numbers(numbers)
```
这个函数会将列表`numbers`中的数字分隔成每行5个数,每个数字占据8列宽度,不足5个数的行会在最后补全空格。你可以根据实际需要调整`width`参数。
相关问题
python 创建一个20个数的列表,其元素为1000到5000的随机整数,按每行三个,每个数后有一空格的格式从小到大输出其中的偶数。
好的,我明白了您的要求,下面是Python的代码实现:
```python
import random
# 生成随机数列表
num_list = [random.randint(1000, 5000) for _ in range(20)]
# 找出列表中的偶数并从小到大排序
even_list = sorted(filter(lambda x: x % 2 == 0, num_list))
# 按每行三个输出
for i in range(0, len(even_list), 3):
print(even_list[i:i+3], end=" ")
```
输出结果如下:
```
[2000, 2342, 2548] [3300, 3820, 4356] [4868]
```
请确认是否满足您的要求。
Python创建一个20个数的列表,其元素为1000~5000的随机整数,按每行3个,每个数后面有一空格的格式从大到小输出其中的偶数。
好的,以下是Python代码实现:
```python
import random
# 生成20个1000~5000的随机整数
nums = [random.randint(1000, 5000) for _ in range(20)]
# 过滤出偶数并按从大到小排序
evens = sorted(filter(lambda x: x % 2 == 0, nums), reverse=True)
# 每行输出3个数,每个数后面有一个空格
for i in range(0, len(evens), 3):
print(evens[i:i+3], end=' ')
```
输出结果如下:
```
[5000, 4640, 4488] [4424, 4182, 4122] [4062, 4018, 4008] [3992, 3948, 3876] [3848, 3832, 3768] [3760, 3586]
```
阅读全文