Python, как удалить скобки при печати списка кортежей?
Как мне удалить скобки из этого кортежа: [(«fred’s», 13), («jack’s», 19), («mark’s», 16), («amy’s», 12), («finlay’s», 17)].
Это код, который я использовал для вывода кортежа:
file_path = "test.txt" with open(file_path, 'r') as f: file_lines = f.readlines() names_and_scores = [(l.strip().split(' ')[0], int(l.strip().split(' ')[2])) for l in file_lines] names_and_scores.sort(key=lambda x: x[1], reverse=True) print(names_and_scores[:5])
Может быть, что-то вроде этого?
print ("".join(str(names_and_scores[:5])).strip("()"))
Поделиться Источник 05 декабря 2018 в 18:49
3 ответа
Вы немного недопонимаете. В общем, вы никогда не можете удалить символы из кортежа. Поскольку они неизменяемы, вы можете создать новый и построить его только с помощью нужных элементов оригинала. Причина наличия квадратных скобок заключается в том, что вывод ваших «имен и оценок» был создан с помощью генератора списка. То есть, это список. Квадратные скобки там, чтобы сказать вам, что это список, поэтому вы не можете «удалить их». Если вы хотите видеть каждый кортеж без квадратных скобок, вы можете перебирать список кортежей и печатать каждый кортеж. Таким образом, вы получите что-то вроде:
("Fred's", 13) ("Jack's", 12)
Если вы хотите удалить скобки вокруг и квадрата, вы можете обратиться к кортежу с индексами для значений. Вы можете сделать следующее:
print("PLAYER:\t\tSCORE:") for i in names_and_scores[:5]: print("<>\t\t<>".format(i[0],i[1]))
Это будет перебирать нужную часть вашего списка (до пятого, кажется), а затем печатать что-то вроде.
PLAYER: SCORE: Jack's 12 Fred's 13
Вы можете игнорировать’s with.
print("PLAYER:\t\tSCORE:") for i in names_and_scores[:5]: print("<>\t\t<>".format(i[0][:-2],i[1]))
Вот мой код и вывод:
list = [("fred's", 13), ("jack's", 19), ("mark's", 16), ("amy's", 12), ("finlay's", 17)] print("PLAYER:\t\tSCORE") for i in list: print("<>\t\t<>".format(i[0][:-2],i[1])) PLAYER: SCORE fred 13 jack 19 mark 16 amy 12 finlay 17
Поделиться 05 декабря 2018 в 18:59
Самый простой способ, который я могу придумать, это пройти по списку
list=[("fred's", 13), ("jack's", 19), ("mark's", 16), ("amy's", 12), ("finlay's", 17)] for item in list: name,number=item print(name,number)
Поделиться 05 декабря 2018 в 19:01
names_and_scores[:5] — это список кортежей, поэтому вы видите скобки вокруг вывода. Чтобы удалить скобки, вы можете преобразовать список в строку, разделяя все отдельные элементы кортежа в списке запятыми:
", ".join(names_and_scores[:5])
Как убрать скобки при выводе массива python
Наверно самым простым способом будет соединить содержимое массива в строку.
l = [1, 2, 3] ' '.join(l) # 1 2 3
Как убрать скобки при выводе, где только одно число?
Выводить можно всё одинаково, а изменить только текст:
for name, values in favourite_numbers.items(): if len(values) == 1: print(f"'s favourite number is: ") else: print(f"'s favourite numbers are: ") for number in values: print(number)
for name, values in favourite_numbers.items(): if len(values) == 1: print(f"'s favourite number is: ") else: print(f"'s favourite numbers are: ") print(*values) # "распаковывает" список, т.е. выводит каждый элемент
Как вывести список без скобок в Python

Python — это высокоуровневый язык программирования, который часто используется для работы со списками. При выводе списков в Python по умолчанию скобки используются для обозначения списка. Однако иногда возникает необходимость вывода списка без скобок для различных целей. В этой статье мы рассмотрим несколько способов вывода списка без скобок в Python.
Использование функции join()
Функция join() в Python позволяет объединить элементы списка в строку, используя заданный разделитель. Мы можем использовать эту функцию, чтобы вывести элементы списка без скобок.
Принцип работы функции join() заключается в том, что она принимает в качестве аргумента разделитель (или строку-разделитель), а затем объединяет элементы списка в одну строку, вставляя указанный разделитель между ними.
Для вывода элементов списка без скобок и разделителя, мы можем использовать функцию join() с пустой строкой в качестве разделителя.
Вот пример использования функции join() :
my_list = ["apple", "banana", "cherry"] result = "".join(my_list) print(result)
Этот код выведет следующий результат:
applebananacherry
Как видим, все элементы списка были объединены в одну строку без использования скобок и разделителей. Если нам необходимо разделить элементы списка запятой, необходимо использовать соответствующий разделитель:
my_list = ["apple", "banana", "cherry"] result = ", ".join(my_list) print(result)
Этот код выведет следующий результат:
apple, banana, cherry
Использование функции print() вместе с оператором ‘ * ‘
Для вывода элементов списка без скобок можно использовать функцию print() вместе с оператором распаковки * .
Оператор * перед списком в функции print() позволяет передать каждый элемент списка в качестве отдельного аргумента функции. По умолчанию разделителем между элементами будет пробел. Если вам необходимо вывести все элементы из списка через запятую, вам необходимо указать соответствующий разделитель:
my_list = [1, 2, 3, 4, 5] print(*my_list, sep=', ')
В данном случае, оператор * передает элементы списка в функцию print() в качестве отдельных аргументов, а параметр sep=’, ‘ указывает разделитель.
В результате выполнения данного кода будет выведено:
1, 2, 3, 4, 5