Python3实现逗号拼接与字符网格打印详解

白榆
白榆
发布时间:2026-10-13| 1人浏览过
原创

本文详解Python3中两个经典列表操作:一是将列表元素以逗号和空格分隔,并在末尾添加and生成字符串;二是利用嵌套循环将二维列表转换为字符网格图像。通过具体代码示例与运行结果分析,帮助开发者掌握列表遍历、字符串处理及二维数组索引技巧,适用于基础编程练习与算法逻辑训练。

逗号代码

假设存在如下定义的列表变量:

spam=['apples','bananas','tofu',' cats']

请编写一个函数,接收一个列表作为输入参数,并返回拼接后的字符串。该字符串需包含列表中的所有元素,元素间以逗号和空格分隔,且在最后一个元素前插入单词and。例如,若将前述spam列表传入该函数,预期输出为'apples,bananas,tofu,and cats'。此外,该函数需具备通用性,能够处理任意传入的列表数据。

具体实现代码如下:

import copy 
 
def conFun(nameList): 
  n=len(nameList) 
  newList=copy.copy(nameList) 
  newList.insert(n-1,'and') 
  # print(newList) 
  a=str(newList.pop()) 
  b=str(newList.pop()) 
  c='' 
  c=b+' '+a 
  newOne='' 
  newOne=newList[0] 
  i=1 
  for j in newList: 
    newOne=newOne+','+newList[i] 
    i=i+1 
    if i==len(newList): 
      break     
  print(newOne+','+c) 

代码验证过程如下:

================== RESTART: /Users/valen/Documents/test.py ================== 
>>> spam=['apple','bananas','tofu','cats'] 
>>> conFun(spam) 
apple,bananas,tofu,and cats 
>>>  

字符图网格

假设存在一个嵌套列表结构,其中内层列表的每个元素均为包含单个字符的字符串,结构示例如下:

grid = [ ['.', '.', '.', '.', '.','.'], 
     ['.', '0', '0', '.', '.','.'], 
     ['0', '0', '0', '0', '.','.'], 
     ['0', '0', '0', '0', '0','.'], 
     ['.', '0', '0', '0', '0','0'], 
     ['0', '0', '0', '0', '0','.'], 
     ['0', '0', '0', '0', '.','.'], 
     ['.', '0', '0', '.', '.','.'], 
     ['.', '.', '.', '.', '.','.']] 

可将grid[x][y]视为图像在坐标(x,y)处的字符值,该图像由文本字符构成。坐标系原点(0,0)位于左上角,x轴向右递增,y轴向下递增。

复制上述网格数据,编写代码以打印出对应的图像形状。

..OO.OO.. 
.OOOOOOO. 
.OOOOOOO. 
..OOOOO.. 
...OOO... 
....O.... 

提示:需使用嵌套循环结构。首先打印grid[0][0],接着grid[1][0],随后grid[2][1]等,直至处理完grid[8][0],从而完成第一行的打印并换行。随后程序继续打印grid[0][1]、grid[1][1]、grid[2][1]等,依此类推,最终打印至grid[8][5]。

此外,若需避免每次print()调用后自动换行,请在print()函数中传入end关键字参数以控制输出格式。

import copy 
 
grid = [ ['.', '.', '.', '.', '.','.'], 
     ['.', '0', '0', '.', '.','.'], 
     ['0', '0', '0', '0', '.','.'], 
     ['0', '0', '0', '0', '0','.'], 
     ['.', '0', '0', '0', '0','0'], 
     ['0', '0', '0', '0', '0','.'], 
     ['0', '0', '0', '0', '.','.'], 
     ['.', '0', '0', '.', '.','.'], 
     ['.', '.', '.', '.', '.','.']] 
c=[] 
c=copy.deepcopy(grid) 
#print(c) 
gridLen=len(grid) 
cyctime=len(grid[0]) 
#print(cyctime)  
i=0 
j=0 
for j in range(cyctime): 
  if j < cyctime : 
    for i in range(gridLen): 
      if i < gridLen : 
        print(c[i][j],end=' ') 
        i=i+1 
  print('\n') 
  j=j+1 

程序运行输出结果如下:

================== RESTART: /Users/valen/Documents/test.py ================== 
. . 0 0 . 0 0 . .  
 
. 0 0 0 0 0 0 0 .  
 
. 0 0 0 0 0 0 0 .  
 
. . 0 0 0 0 0 . .  
 
. . . 0 0 0 . . .  
 
. . . . 0 . . . .  
 
>>>  

以上关于Python3逗号代码与字符图网格的详细解析即为此文全部内容,旨在为读者提供参考,欢迎支持。

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。