Python: как поставить "" на каждую строку из списка - PullRequest
0 голосов
/ 12 июля 2020

У меня есть список всех возможных комбинаций числа 4-di git, и я хочу поместить их в possible_comb = [...]

Но в списке нет разделителя, такого как запятая, например, и в ней нет символа «..» на 4 di git число.

Пример:

# Это мой список

list = [ 0000 0001 0002 0003...9999] # no (,) and (") 

# ожидаемый

list = ["0000", "0001", "0002",..."9999"]

Ввод "и" вручную - это чертовски sh. Как поставить "..." и на каждую строку из списка? Или есть другие способы перечислить все возможные 4 di git числа и поместить его в список в виде строки? Спасибо.

Ответы [ 5 ]

4 голосов
/ 12 июля 2020

Вы можете составить такой список с пониманием списка, преобразовав целые числа в строки и используя zfill() для добавления нулей:

l = [str(n).zfill(4) for n in range(10000)]

l будет:

['0000',
 '0001',
 '0002',
 '0003',
 '0004',
 '0005',
 ...
 '9999'
 ]

В зависимости от того, как вы его используете, вам может быть лучше с выражением генератора.

l = (str(n).zfill(4) for n in range(10000))
0 голосов
/ 12 июля 2020

Вы можете использовать метод разделения для автоматического добавления кавычек и запятых:

lst_str = str(your_list)
lst_final = lst.split(" ")
lst_final[0] = "0000"
lst_final[-1] = "9999"
0 голосов
/ 12 июля 2020

Вам нужно преобразовать все целые числа в вашем списке в строки. Попробуйте это:

for i in list:
    list[i] = str(list[i])

Или, если вы хотите сгенерировать все комбинации:

list = []
for i in range(10):
    for j in range(10):
        for k in range(10):
            for l in range(10):
                list.append(str(1000*i + 100*j + 10*k + l))
0 голосов
/ 12 июля 2020

Возможно, если вы хотите преобразовать целое число в строковый, тогда это сработает:

 a = [ 0000 ,0001 ,0002, 0003,...9999]
 a = list(map(str,a))
 
0 голосов
/ 12 июля 2020

Это немного взломано, но оно должно работать (учитывая, что x - это ваша строка ввода, которая выглядит как список):

x = "[0000 0001 0002 0003]"
final_list = []
digit = ""

for i in x[1:]:
    if i.isdigit():
        digit += i
    else:
        final_list.append(digit)
        digit = ""

# print(final_list)

Дайте мне знать, как это происходит.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...