Python Lambda-带“的打印问题;列表“;,要求换行

Python Lambda-带“的打印问题;列表“;,要求换行,python,aws-lambda,Python,Aws Lambda,在返回每个用户和访问密钥后,我在打印带有新行分隔符的列表时遇到问题 Lambda返回: ['Hannah', 1103, 'Nick', 126] 我想它返回后,每一个用户和访问密钥的年龄是返回一行中断 ['Hannah', 1103 'Nick', 126] 导入boto3、json、time、datetime、sys client=bot3.client('iam') sns=boto3.客户端(“sns”) 用户名=[] mylist=[] def lambda_处理程序(事件、上下文

在返回每个用户和访问密钥后,我在打印带有新行分隔符的列表时遇到问题

Lambda返回:

['Hannah', 1103, 'Nick', 126]
我想它返回后,每一个用户和访问密钥的年龄是返回一行中断

['Hannah', 1103
'Nick', 126]
导入boto3、json、time、datetime、sys
client=bot3.client('iam')
sns=boto3.客户端(“sns”)
用户名=[]
mylist=[]
def lambda_处理程序(事件、上下文):
users=client.list_users()
对于输入用户['users']:
a=str(键['UserName'])
usernames.append(a)
对于用户名中的用户名:
尝试:
res=客户端。列出访问密钥(用户名=用户名)
accesskeydate=res['AccessKeyMetadata'][0]['CreateDate']
accesskeydate=accesskeydate.strftime(“%Y-%m-%d%H:%m:%S”)
currentdate=time.strftime(“%Y-%m-%d%H:%m:%S”,time.gmtime())
accesskeyd=time.mktime(datetime.datetime.strTime(accesskeydate,“%Y-%m-%d%H:%m:%S”).timetuple())
currentd=time.mktime(datetime.datetime.strtime(currentdate,“%Y-%m-%d%H:%m:%S”).timetuple())
活动天数=(currentd-accesskeyd)/60/60/24#####我们以秒为单位获得数据。将其转换为天
如果90<活动日:
a=str(用户名)
c=整数(整数(整轮(有效天数)))
mylist.append(a)
mylist.append(c)
除:
f=str(“”)
打印(mylist)
finallist=''.join(str(mylist))
sns_消息=(最终列表)
响应=sns.publish(
TopicArn='arn:aws:sns:arn',
消息=sns_消息,
主题=“需要旋转的访问键”,
)

似乎您需要某种类型的预打印功能来完成所需的操作。以下函数正是您想要的:

result=['Hannah',1103',Nick',126]
def预打印(l):
s='['
n_项目=长度(l)
对于idx,枚举(l)中的项目:
is_str=isinstance(项目,str)
s+=f“{item}”如果是_str else str(item)
如果idx!=n_项-1:
s+=','如果是其他'\n'
s+=']'
返回s
打印(预打印(结果))
印刷品:

['Hannah', 1103
'Nick', 126]

这是正常的,因为它是一个
列表
,如果您需要换行,也许您应该将其转换为
str
。您的问题是什么?使用裸的
要小心,除了,
请参见。为什么要这样,用方括号?你不希望没有方括号的打印吗?
['Hannah', 1103
'Nick', 126]