我正在编写程序,其中要根据特定条件检查数组的每个字符元素。如果condition为true,则元素应设置为粗体和彩色格式。
程序如下:
arr = [['F','O','R','S','T'],
['A','B','C','D','E'],
['M','N','P','Q','R']]
for row in arr:
print (row)
for row in arr:
for i in range(len(row)):
#its just sample condition, actual condition would be different
if row[i] == 'F' or row[i] == 'A' or row[i] == 'M':
row[i] = '\033[31m'+row[i]+'\x1b[0m'
print("\nUpdated Array: printed by iterating each element")
for row in arr:
for column in row:
print (column, end=" ")
print("\n")
print("\nUpdated Array: printed without iterating each element")
for row in arr:
print (row)
输出如下:
[['F','O','R','S','T']
[['A','B','C','D','E']
[['M','N','P','Q','R']
更新数组:通过迭代每个元素打印
F O R S T
A B C D E
M N P Q R
更新后的数组:在不迭代每个元素的情况下打印
['\ x1b [31mF \ x1b [0m','O','R','S','T']
['\ x1b [31mA \ x1b [0m','B','C','D','E']
['\ x1b [31mM \ x1b [0m','N','P','Q','R']
是否有任何方法可以直接打印以下数组而无需迭代数组
['F','O','R','S','T']
['A','B','C','D','E']
['M','N','P','Q','R']
您可以将数组设为单个字符串,然后打印该字符串
new = ''
for row in arr:
for col in row:
#its just sample condition, actual condition would be different
if col == 'F' or col == 'A' or col == 'M':
new += (' \033[31m'+ col +'\x1b[0m ')
else:
new+=(' '+ col)
new+=('\n')
然后打印new
输出:
F O R S T
A B C D E
M N P Q R