У меня проблема с печатью списка в Python.
Я собираю элементы словаря в список, а затем пытаюсь распечатать список. Но напечатанный список включает закрывающие скобки '[]'.
Вот мой код и результат:
my_secrets_list = []
aws_secret = secrets_client.create_secret(Name=secret_name,Description=secret_description,KmsKeyId=kms_key_id,SecretString=key_info,Tags=[{'Key': 'Name','Value': user_name}])
secret_name = aws_secret['Name']
my_secrets_list.append(secret_name)
print("My secrets", my_secrets_list)
Это aws_secret
И это вывод:
My secrets ['aws-user10-jf-python-dev-keys']
Я хотел бы напечатать список с именем my_secrets_list без закрывающих скобок или кавычек.
Как я могу это сделать?
Случайный совет: придерживайтесь одинарных ('
) или двойных ("
) кавычек, чтобы придать вашему коду более единообразный стилистический вид. Вы также сэкономите время в долгосрочной перспективе, поскольку вам не придется постоянно исправлять синтаксические ошибки!
Это хороший совет! Спасибо! Я сделаю это.
Вы можете использовать метод str.join
, чтобы объединить свой список строк в хорошо читаемый список, разделенный запятыми.
т.е.
my_secrets_list = []
aws_secret = secrets_client.create_secret(Name=secret_name,Description=secret_description,KmsKeyId=kms_key_id,SecretString=key_info,Tags=[{'Key': 'Name','Value': user_name}])
secret_name = aws_secret['Name']
my_secrets_list.append(secret_name)
print("My secrets", ', '.join(my_secrets_list))
Я не могу проверить это, но я могу заверить, что основной принцип того, что здесь делается, отлично работает:
l = ['hello', 'jim', 'bob']
print('My list:', ', '.join(l))
#My list: hello, jim, bob
Вы могли бы заменить
print("My secrets", my_secrets_list)
с участием
print("My secrets", my_secrets_list[0])
Это прекрасно работает, когда my_secrets_list
содержит только одну строку, но если она содержит несколько элементов, другие элементы, очевидно, не будут отображаться.
Не печатать список, печатать элементы внутри списка.