首页 > 解决方案 > .join 中的元素

问题描述

我通过这样做创建了一个网格格式的字符串

ls1 = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15"]
ls2 = ["16", "17", "*", " ", "*", "*", "*", " ", " ", " ", " ", " ", " ", " ", "*"]
ls3 = ["*", " ", "*", " ", "*", " ", " ", " ", " ", " ", " ", " ", " ", " ", "*"]
ls4 = ["*", "W", " ", "F", "*", " ", " ", " ", " ", " ", " ", " ", " ", " ", "*"]
ls5 = ["*", " ", "F", "W", "*", " ", " ", " ", " ", " ", " ", " ", " ", " ", "*"]
ls6 = ["*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "Y", "*", "*"]

ls = []
ls.append(ls1)
ls.append(ls2)
ls.append(ls3)
ls.append(ls4)
ls.append(ls5)
ls.append(ls6)

grid_string = ""
for sublist in ls:
    grid_string += "".join(sublist)+ "\n"

现在我想grid_string用新字符串替换元素,但我不确定如何在这个网格中计算元素,如格式。因此,我将第一行 ( ls1) 中的整数按升序排列,第二行 ( ls2) 中的两个整数进行测试。

我基本上做到了:

print(grid_string[3])
print(grid_string[4])
print(grid_string[5])
print(grid_string[6])
print(grid_string[7])
print(grid_string[8])
print(grid_string[9])
print(grid_string[10])
print(grid_string[11])
print(grid_string[12])

前 6 次打印的输出似乎是合乎逻辑的,但其余的则没有多大意义。

输出如下所示:

4
5
6
7
8
9
1
0
1
1
1
2
1
3

标签: python

解决方案


您正在将列表列表加入一个名为的字符串中,grid_string因此您的最终结果将是这样的123456789101112131415

如果您找到grid_string[9],您实际上是在调用该字符串的第 10 个元素,即1. 所以grid_string[9] grid_string[10]在一起就等于10

ls1 = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15"]
ls = []
ls.append(ls1) 

grid_string = ""    
for sublist in ls:
      grid_string += "".join(sublist)+ "\n"
      print(grid_string)

print(grid_string[9])

编辑:从你的输出也很清楚

4    
5    
6    
7    
8    
9

1    
0

1    
1

1    
2

1    
3

推荐阅读