Как заменить элемент в списке списка, используя python3? - PullRequest
0 голосов
/ 08 апреля 2019

Как заменить элемент в списке списка с помощью python3?

txt =[[""],[""],[""]]
for i in txt:
   x = i.replace("", "apples")
   print(x)

Ожидаемый результат:

apples
apples
apples

Ответы [ 4 ]

1 голос
/ 08 апреля 2019

Чтобы заменить каждый экземпляр "" в подсписках основного списка txt, вы можете использовать следующее понимание списка:

txt =[[""],[""],[""]]
txt = [[x if not x=="" else 'apples' for x in sublist] for sublist in txt]

, который производит:

[['apples'], ['apples'], ['apples']]

Код, который у вас есть сейчас, не может работать, потому что, учитывая то, как вы перебираете txt, i является подсписком, а у объектов списка Python нет .replace метода.

0 голосов
/ 08 апреля 2019

Использование списка понимания:

txt =[[""],[""],[""]]

print([[x if x != "" else 'apples' for x in sub] for sub in txt])

OUTPUT

[['apples'], ['apples'], ['apples']]

распечатать их отдельно;

txt = [[x if x != "" else 'apples' for x in sub] for sub in txt]

for sub in txt:
   for elem in sub:
      print(elem)

OUTPUT

apples
apples
apples
0 голосов
/ 08 апреля 2019

Попробуйте это:

txt = [[""],[""],[""]]
for i in range(len(txt)):
    for ii in range(len(txt[i])):
        txt[i][ii] = (txt[i][ii]).replace("","apples")
print(txt)
0 голосов
/ 08 апреля 2019
def replace(value, new_value, outer_list):    
  for inner_list in outer_list:
    for i,element in enumerate(inner_list):
       if element == value:
          inner_list[i]= new_value
  return outer_list
txt =[[""],[""],[""]]
txt = replace("", "apple", txt)

Эта функция может удовлетворить ваши потребности

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