簡體   English   中英

如何在循環中打印字符串與字符串列表的連接

[英]How to print a concatenation of a string with a list of strings in a loop

我有一個列表列表,我想刪除所有括號、命令等 ("[],'")

a=3
c=[["A ",["|   "]*a],
["  ",["|———"]*a],
["B ",["|   "]*a],
["  ",["|———"]*a],
["C ",["|   "]*a],
["  ",["|———"]*a]
]
for line in c:
    print(*line, sep="")

我想要這樣的 output :

A |   |   |   
  |———|———|———
B |   |   |   
  |———|———|———
C |   |   |   
  |———|———|———

但我得到了這個 output:

A ['|   ', '|   ', '|   ']
  ['|———', '|———', '|———']
B ['|   ', '|   ', '|   ']
  ['|———', '|———', '|———']
C ['|   ', '|   ', '|   ']
  ['|———', '|———', '|———']

[Program finished]

你的問題是你有嵌套列表的三個深度

根據您的條件,您可以更改生成表格的方式,使其只有兩個深度:

a=3
c=[["A "] + ["|   "]*a,
["  "] + ["|———"]*a,
["B "] + ["|   "]*a,
["  "] + ["|———"]*a,
["C "] + ["|   "]*a,
["  "] + ["|———"]*a
]
for line in c:
    print(*line, sep="")

...或更改打印方式:

a=3
c=[["A ",["|   "]*a],
["  ",["|———"]*a],
["B ",["|   "]*a],
["  ",["|———"]*a],
["C ",["|   "]*a],
["  ",["|———"]*a]
]
for head, line in c:
    print(head, *line, sep="")

有趣的問題。 我認為以下內容可以使用給定的輸入滿足您的要求。

for line in c:
    print("".join(["".join(x) for x in line]), sep="")

由於 python 中"a"*3"aaa" ,因此您實際上可以使用如下所示的內容。

a=3
c=[
    ["A ","|   "*a],
    ["  ","|———"*a],
    ["B ","|   "*a],
    ["  ","|———"*a],
    ["C ","|   "*a],
    ["  ","|———"*a]
]
for line in c:
    print(*line, sep="")

Output:

A |   |   |   
  |———|———|———
B |   |   |   
  |———|———|———
C |   |   |   
  |———|———|———

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM