Преобразуйте файл строк в требуемый формат: замените / на _, за исключением тех, которые находятся перед запятой

Я использую const для параметров функции, которые являются ссылками (или указателями), которые являются только [in] данными и не будут изменены функцией. Значение, когда цель использования ссылки заключается в том, чтобы избежать копирования данных и не допускать изменения переданного параметра.

Помещение константы в параметр boolean b в вашем примере только ограничивает реализацию и не делает,

Функциональная сигнатура для

void foo(int a);

и

void foo(const int a);

- это функция, которая может использоваться для интерфейса класса (хотя обычно не рекомендуется изменять параметры). то же, что объясняет ваши .c и .h

Asaf

1
задан npatel 1 March 2019 в 22:25
поделиться

1 ответ

zip () ваш разбитый (на '/') текст сам сместился на 1 и сложил его, используя правильные промежуточные значения:

x = "abc/xyz/abc/xyz/ab_c : abc/xyz/abc/xyz/ab_c,ab_c/xy_z/ab_c/xy_z/ab_c/xy_z,1"

parts = x.split("/")
pp = zip(parts,parts[1:])

l = []
for at,after in pp:
    if ',' in after:
        l.extend([at,'/'])
    else:
        l.extend([at,'_'])
l.append(after)  

# join and add spaces after ,
new_t = ''.join(l).replace(",",", ")
print(new_t) 
print('abc_xyz_abc_xyz_ab_c : abc_xyz_abc_xyz/ab_c, ab_c_xy_z_ab_c_xy_z_ab_c/xy_z, 1')

Вывод: [ 116]

abc_xyz_abc_xyz_ab_c : abc_xyz_abc_xyz/ab_c, ab_c_xy_z_ab_c_xy_z_ab_c/xy_z, 1
abc_xyz_abc_xyz_ab_c : abc_xyz_abc_xyz/ab_c, ab_c_xy_z_ab_c_xy_z_ab_c/xy_z, 1

Застегнутая вещь выглядит следующим образом:

# pp splitted zipped with itself, shifted by 1
[('abc', 'xyz'), ('xyz', 'abc'), ('abc', 'xyz'), ('xyz', 'ab_c : abc'), 
 ('ab_c : abc', 'xyz'), ('xyz', 'abc'), ('abc', 'xyz'), ('xyz', 'ab_c,ab_c'),
 ('ab_c,ab_c', 'xy_z'), ('xy_z', 'ab_c'), ('ab_c', 'xy_z'), ('xy_z', 'ab_c'),
 ('ab_c', 'xy_z,1')]

Этот код использует печать в стиле Python 3 - но он также работает в Python 2

0
ответ дан Patrick Artner 1 March 2019 в 22:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: