Как убрать запятые в списке python
Перейти к содержимому

Как убрать запятые в списке python

  • автор:

Как убрать скобки при выводе массива python

Наверно самым простым способом будет соединить содержимое массива в строку.

l = [1, 2, 3] ' '.join(l) # 1 2 3 

Удаление пунктуации из строки

Для удаления пунктуации из строки Python воспользуемся методом строки str.replace() . А именно, в цикле пройдемся по всем символам пунктуации, и если они есть, то просто заменим его на пустую строку.

Что бы не вспоминать и не собирать все символы пунктуации в список, воспользуемся модулем string , который любезно предоставляет атрибут с символами пунктуации string.punctuation .

Подробный пример для понимания алгоритма (самый медленный способ):

# исходная строка >>> line = '- Мама мыла раму, а Маша помогала. (из прописи 1 класса)' >>> import string >>> string.punctuation # '!"#$%&\'()*+,-./:;?@[\\]^_`<|>~' # пунктуацию будем удалять в цикле for p in string.punctuation: if p in line: # банальная замена символа в строке line = line.replace(p, '') >>> line.strip() # 'Мама мыла раму а Маша помогала из прописи 1 класса' 

Кстати, таким же способом можно удалять например «стоп слова» из текста, который подготавливается к поиску.

Короткие, но более эффективные варианты:

# самый быстрый и эффективный вариант >>> import string >>> line = '- Мама мыла раму, а Маша помогала. (из прописи 1 класса)' >>> s = line.translate(str.maketrans('', '', string.punctuation)) >>> s # ' Мама мыла раму а Маша помогала из прописи 1 класса' 
>>> import string >>> line = '- Мама мыла раму, а Маша помогала. (из прописи 1 класса)' # используем `set()` для скорости >>> exclude = set(string.punctuation) >>> s = ''.join(ch for ch in line if ch not in exclude) >>> s # ' Мама мыла раму а Маша помогала из прописи 1 класса' 
>>> import re, string >>> line = '- Мама мыла раму, а Маша помогала. (из прописи 1 класса)' >>> regex = re.compile('[%s]' % re.escape(string.punctuation)) >>> s = regex.sub('', line) >>> s # ' Мама мыла раму а Маша помогала из прописи 1 класса' 
  • ОБЗОРНАЯ СТРАНИЦА РАЗДЕЛА
  • Преобразование строки в число
  • Строку в список, кортеж или множество символов
  • Одинарные, двойные и тройные кавычки в строке Python
  • Вывод специальных символов в строке Python «как есть»
  • Объединение и повторение строк
  • Индексирование строк
  • Использование срезов строк
  • Cрез строки Python от заданного символа/знака до конца строки
  • Создание макета для печати базовыми методами строк
  • Способы форматирования текстовых строк
  • Подсчет повторений слов в тексте, деление строки на список слов
  • Удаление слова из строки Python по фрагменту или шаблону
  • Удаление пунктуации из строки
  • Деление строки по заглавным буквам
  • Создание отчетов и писем по шаблонам

Как удалить последнюю запятую в списке?

Суть в том, что я делаю список ВСЕХ изображений через запятую, а на последней она не нужна. Как можно такое сделать?

  • Вопрос задан более года назад
  • 175 просмотров

Комментировать
Решения вопроса 1

Vindicar

Открой для себя метод str.join() и генераторные выражения
«,».join( f»»» for n in glob.iglob(. ) )
Я надеюсь, в имени файла у тебя не попадётся апострофов.

Ответ написан более года назад
Нравится 2 9 комментариев
JRBRO @JRBRO Автор вопроса
Суть в том, что мне нужен этот список, но без последней запятой

Vindicar

JRBRO, ты мой код использовать пробовал, или нет? Он тебе сгенерирует строку, которая как раз содержит такой список.
Если тебе нужно, чтобы выводилось построчно — используй «,\n».join(. ) , и все дела

JRBRO @JRBRO Автор вопроса
Спасибо огромное! Сработало.

Vindicar

JRBRO, ты случаем это спрашиваешь не для вот этого вопроса?
JRBRO @JRBRO Автор вопроса
Vindicar, да, разбил более крупную задачу на кучу мелких
JRBRO @JRBRO Автор вопроса

При таком раскладе

from PIL import Image import numpy as np import sys import glob import os root_dir = sys.argv[1] z = ",".join(f"''" for n in glob.iglob(root_dir + '/*.png', recursive=True)) print(z) images = [", ".join(f"''" for n in glob.iglob(root_dir + '/*.png', recursive=True))] images = [Image.open(path) for path in [z]]

Выдает такую ошибку

FileNotFoundError: [Errno 2] No such file or directory: «‘/Users/e/Desktop/1/4.png’,’/Users/Users/e/Desktop/1/5.png’,’/Users/Users/e/Desktop/1/2.png’,’/Users/Users/e/Desktop/1/3.png’,’/Users/Users/e/Desktop/1/1.png'»

Если я вывод из print(z) заворачиваю в [], то все ок. (копирую вывод из консоли и вставляю в скобки)Нет идей?

JRBRO @JRBRO Автор вопроса

z = ",".join(f"''" for n in glob.iglob(root_dir + '/*.png', recursive=True)) print(z) print([z]) z = ['/Users/'] print(z)
'/Users/1.png' ["'/Users/1.png'"] ['/Users/1.png']

Работает только 3 вариант

Vindicar

JRBRO, погоди, ты какую-то полнейшую глупость делаешь. Ты что, думаешь что так можно руками питоновсксий список собрать?

Уф. У тебя есть csv файл, так?

import csv files = [] with open('my_file.csv', 'rt', encoding='utf-8') as src: reader = csv.reader(src) for row in reader: # ну или какой там у тебя номер нужного столбца, начиная с 0? fname = row[0] files.append(fname)

И всё! В files будут лежать имена файлов. Номер столбца в csv сам укажешь.

Как убрать запятые в массиве python

Author24 — интернет-сервис помощи студентам

Удалить запятые в строках
здравствуйте. дан файл, в нем на каждой строке есть числа, завершающиеся запятыми и пробелами. как.

Удалить из строки все запятые, предшествующие первой точке
Дана строка символов, среди которых есть хотя бы одна точка. Написать функцию, которой передаётся.

Лишние запятые в csv файле
Добрый день, при попытке добавить дату-время в виде названия столбца в csv стобик добавляется, но.

Am I evil? Yes, I am!

Эксперт PythonЭксперт Java

17164 / 10095 / 2781
Регистрация: 21.10.2017
Сообщений: 22,091

Собрать новую строку без запятых.
Ваш кэп

Добавлено через 1 минуту

new_text = ''.join(i for i in text if i != ',')

776 / 541 / 70
Регистрация: 10.03.2012
Сообщений: 3,866
Я думал в сторону метода find
Am I evil? Yes, I am!

Эксперт PythonЭксперт Java

17164 / 10095 / 2781
Регистрация: 21.10.2017
Сообщений: 22,091
Все в твоих руках
2424 / 1466 / 633
Регистрация: 01.11.2021
Сообщений: 2,269

new_text = text.translate(str.maketrans('','',','))
new_text = ''.join(text.split(','))

87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь

Заменить в символьном массиве все точки и запятые на пробел (С++ -> Python)
Задание Ввести символьный массив из 15 или меньшего числа элементов и заменить в нем все точки и.

Придумайте такую модификацию формата CSV, чтобы значения могли содержать запятые и символы новой строки
Есть задача. Честно говоря, я даже не совсем понимаю, что от меня хотят. Решил только часть в **.

Удалить из массива запятые
Привет, ребят! У меня такая задача. Нужно из массива убрать запятые(скорее всего). Я перебераю.

Удалить все запятые из массива
for a = 1:N YY(a) = YY(a) + abs(Minimum) + 1; %устранение «-» b(a) = ceil (YY(a)); %.

Удалить из строки все запятые.
Люди, помогите решить задачу в Turbo C++ (там где printf и scanf): Удалить из строки все запятые.

Удалить все запятые в строке
Ребят помогите подредактировать что то не выходит, скорее всего я что не дописал program hi; var.

Или воспользуйтесь поиском по форуму:

Как убрать скобки при выводе массива python

Наверно самым простым способом будет соединить содержимое массива в строку.

l = [1, 2, 3] ' '.join(l) # 1 2 3 

Как удалить последнюю запятую в списке?

Суть в том, что я делаю список ВСЕХ изображений через запятую, а на последней она не нужна. Как можно такое сделать?

  • Вопрос задан более года назад
  • 169 просмотров

Комментировать
Решения вопроса 1

Vindicar

Открой для себя метод str.join() и генераторные выражения
«,».join( f»»» for n in glob.iglob(. ) )
Я надеюсь, в имени файла у тебя не попадётся апострофов.

Ответ написан более года назад
Нравится 2 9 комментариев
JRBRO @JRBRO Автор вопроса
Суть в том, что мне нужен этот список, но без последней запятой

Vindicar

JRBRO, ты мой код использовать пробовал, или нет? Он тебе сгенерирует строку, которая как раз содержит такой список.
Если тебе нужно, чтобы выводилось построчно — используй «,\n».join(. ) , и все дела

JRBRO @JRBRO Автор вопроса
Спасибо огромное! Сработало.

Vindicar

JRBRO, ты случаем это спрашиваешь не для вот этого вопроса?
JRBRO @JRBRO Автор вопроса
Vindicar, да, разбил более крупную задачу на кучу мелких
JRBRO @JRBRO Автор вопроса

При таком раскладе

from PIL import Image import numpy as np import sys import glob import os root_dir = sys.argv[1] z = ",".join(f"''" for n in glob.iglob(root_dir + '/*.png', recursive=True)) print(z) images = [", ".join(f"''" for n in glob.iglob(root_dir + '/*.png', recursive=True))] images = [Image.open(path) for path in [z]]

Выдает такую ошибку

FileNotFoundError: [Errno 2] No such file or directory: «‘/Users/e/Desktop/1/4.png’,’/Users/Users/e/Desktop/1/5.png’,’/Users/Users/e/Desktop/1/2.png’,’/Users/Users/e/Desktop/1/3.png’,’/Users/Users/e/Desktop/1/1.png’»

Если я вывод из print(z) заворачиваю в [], то все ок. (копирую вывод из консоли и вставляю в скобки)Нет идей?

JRBRO @JRBRO Автор вопроса

z = ",".join(f"''" for n in glob.iglob(root_dir + '/*.png', recursive=True)) print(z) print([z]) z = ['/Users/'] print(z)
'/Users/1.png' ["'/Users/1.png'"] ['/Users/1.png']

Работает только 3 вариант

Vindicar

JRBRO, погоди, ты какую-то полнейшую глупость делаешь. Ты что, думаешь что так можно руками питоновсксий список собрать?

Уф. У тебя есть csv файл, так?

import csv files = [] with open('my_file.csv', 'rt', encoding='utf-8') as src: reader = csv.reader(src) for row in reader: # ну или какой там у тебя номер нужного столбца, начиная с 0? fname = row[0] files.append(fname)

И всё! В files будут лежать имена файлов. Номер столбца в csv сам укажешь.

Висящие запятые

Висящие запятые (или «последние запятые») могут быть полезны при добавлении новых элементов, параметров или свойств в код JavaScript. Если вы хотите добавить новое свойство, вы просто добавляете новую строчку без изменения предыдущей, если в ней уже использована висящая запятая. Это делает различия в контроле версий чище и изменение кода может быть менее хлопотным.

JavaScript с самого начала допускает использовать висящих запятых в литералах массива, а затем добавлял их в литералы объекта (ECMAScript 5) и, совсем недавно (ECMAScript 2017), к параметрам функций.

JSON, однако, не допускает висящих запятых.

Висящие запятые в литералах

Массивы

JavaScript игнорирует висящие запятые в массивах:

var arr = [1, 2, 3,]; arr; // [1, 2, 3] arr.length; // 3 

Если использовано больше одной висящей запятой, будут созданы «дырки». Массив с «дырками» называется разреженным (плотный массив не имеет «дырок»). При итерации массива при помощи, например, Array.prototype.forEach() или Array.prototype.map() , «дырки» будут пропущены.

var arr = [1, 2, 3, , ,]; arr.length; // 5 
Объекты

Начиная с ECMAScript 5, висящие запятые в объектах также допустимы:

var object = foo: "bar", baz: "qwerty", age: 42, >; 

Висящие запятые в функциях

ECMAScript 2017 допускает висящие запятые в списке параметров функции.

Определение параметров

Следующие определения параметров функций допустимы и равнозначны друг другу. Висящие запятые не влияют на свойство length функции или их объект arguments .

function f(p) > function f(p,) > (p) => >; (p,) => >; 

Висящая запятая также работает с определением методов для классов или объектов:

class C one(a,) >, two(a, b,) >, > var obj = one(a,) >, two(a, b,) >, >; 
Вызов функции

Следующие вызовов функций допустимы и равнозначны друг другу.

f(p); f(p,); Math.max(10, 20); Math.max(10, 20,); 
Недопустимые висящие запятые

Определение параметров функции или вызов функции, содержащих только запятую будет генерировать SyntaxError . Кроме того, при использовании остаточных параметров не допускается использовать висящие запятые:

function f(,) > // SyntaxError: missing formal parameter (,) => >; // SyntaxError: expected expression, got ',' f(,) // SyntaxError: expected expression, got ',' function f(. p,) > // SyntaxError: parameter after rest parameter (. p,) => > // SyntaxError: expected closing parenthesis, got ',' 

Висящие запятые в деструктурировании

Висящие запятые так же можно использовать слева при использовании деструктурирующего присваивания:

// массив деструктурируется с висящей запятой [a, b,] = [1, 2]; // объект деструктурируется с висящей запятой var o = p: 42, q: true, >; var p, q > = o; 

Ещё раз, при использовании оставшихся параметров будет сгенерирована SyntaxError :

var [a, . b,] = [1, 2, 3]; // SyntaxError: rest element may not have a trailing comma 

Висящие запятые в JSON

Висящие запятые в объекте допустимы только в ECMAScript 5. Так как JSON основан на синтаксисе JavaScript старше, чем ES5, висящие запятые не допускаются в JSON.

Обе строки генерируют SyntaxError :

JSON.parse("[1, 2, 3, 4, ]"); JSON.parse(''); // SyntaxError JSON.parse: unexpected character // at line 1 column 14 of the JSON data 

Опустите висящие запятые, чтобы правильно проанализировать JSON:

JSON.parse("[1, 2, 3, 4 ]"); JSON.parse(''); 

Спецификации

Specification
ECMAScript Language Specification
# prod-Elision
ECMAScript Language Specification
# prod-ObjectLiteral
ECMAScript Language Specification
# prod-ArrayLiteral
ECMAScript Language Specification
# prod-Arguments
ECMAScript Language Specification
# prod-FormalParameters
ECMAScript Language Specification
# prod-CoverParenthesizedExpressionAndArrowParameterList
ECMAScript Language Specification
# prod-NamedImports
ECMAScript Language Specification
# prod-NamedExports
ECMAScript Language Specification
# prod-QuantifierPrefix
ECMAScript Language Specification
# prod-annexB-InvalidBracedQuantifier

Совместимость с браузерами

BCD tables only load in the browser

Смотрите также

  • Initial ECMAScript proposal: trailing function commas by Jeff Morrison
Found a content problem with this page?
  • Edit the page on GitHub.
  • Report the content issue.
  • View the source on GitHub.

This page was last modified on 7 авг. 2023 г. by MDN contributors.

Your blueprint for a better internet.

MDN

Support

  • Product help
  • Report an issue

Our communities

Developers

  • Web Technologies
  • Learn Web Development
  • MDN Plus
  • Hacks Blog
  • Website Privacy Notice
  • Cookies
  • Legal
  • Community Participation Guidelines

Visit Mozilla Corporation’s not-for-profit parent, the Mozilla Foundation.
Portions of this content are ©1998– 2024 by individual mozilla.org contributors. Content available under a Creative Commons license.

Похожие публикации:

  1. Как закрасить блок в css
  2. Как отцентрировать текст по вертикали css
  3. Как удалить список python
  4. Как узнать откуда идет посылка озон

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *