题目
输入一个正整数N, 你需要按样例的方式返回一个字符串列表。
输入:
n = 1
输出:
["X"]
难点:
元组拆解的写法
代码
def printX(n: int):
# write your code here
li = []
for i in range(n): #在n个元素中遍历
temp = [' '] * n #在列表中创建n个' '
n_num=n-1-i
temp[i], temp[n_num] = 'X','Y' #元组拆解,会按照对应关系分别赋值
li.append("".join(temp)) #将temp通过join方法转为字符串并添加到列表li中
return li
result=printX(1) #如果n的实参是1,则会返回'Y'可能的原因是被'Y'覆盖了
print(result)
知识点
列表重复
temp = ['ss'] * 3
temp[0] = 'new'
print(temp) # 输出:['new', 'new', 'new']
核心构造是temp=['ss']=n
,这代表创建n个'ss'元素并添加到列表temp
元组解包
第一个例子:
list=(1,2,3)
c,b,a=list #会根据赋值号前变量的排序依次将元组值赋值
print(a)
print(b)
print(c)
# 输出
# 3
# 2
# 1
第二个例子:
my_list=[10,20,30,40,50] #这里特地将元组换成了列表,证明列表也可起效
a,b,c,*rest=my_list #这里的*号表达式将获得超出3个元素的=部分
print(c)
print(b)
print(a)
print(rest)
# 输出
# 30
# 20
# 10
# [40, 50]
标签:temp,打印,li,列表,print,new,元组
From: https://www.cnblogs.com/shaoSaxon/p/18031757