#python #python-3.x #list
Вопрос:
У меня есть список строк списка. Я хочу разделить первый элемент.
li = ["['ABC', 'DEF']",
"['GHI', 'JKL']",
"['MNO', ' ']",
"['PQR', 'STU']"]
Я хочу получить «ABC» в качестве вывода.
Вот мой фрагмент кода:
print(li[0][0])
Я получаю» [«. Я знаю причину. Я попытался преобразовать его в список как список(li). Но все в духе. Кто-нибудь может помочь, пожалуйста.
Ответ №1:
Оцените строки в вашем списке, чтобы преобразовать его в список списков:
import ast
li = [ast.literal_eval(x) for x in li]
затем вы можете продолжить, как требуется:
print(li[0][0])
'ABC'
Комментарии:
1. @Удджвал Махаджан не волнуйся
Ответ №2:
Для того, чтобы получить «азбуку»
eval(li[0])[0]
Ответ №3:
Воспользуйся json.loads
import json
li = ["['ABC', 'DEF']",
"['GHI', 'JKL']",
"['MNO', ' ']",
"['PQR', 'STU']"]
li = [json.loads(x.replace("'", """)) for x in li]
print(li[0][0])
выход
ABC
Ответ №4:
Вот как вы можете это сделать:
li = [['ABC', 'DEF'],
['GHI', 'JKL'],
['MNO', ' '],
['PQR', 'STU']]
print(li[0][0])
Комментарии:
1. Приятель, вот что я спрашиваю, как преобразовать в этот список
2. посмотрите, говорите ли вы, что li = [«[‘ABC’, ‘DEF’]», «[‘GHI’, ‘JKL’]», «[‘MNO’, ‘ ‘]», «[‘PQR’, ‘STU’]»] это список списка, тогда это неправильно, это просто список. далее список списка будет таким: li = [[‘ABC’, ‘DEF’], [‘GHI’, ‘JKL’], [‘MNO’, ‘ ‘], [‘PQR’, ‘STU’], Потому что, когда вы ставите»», это делает внутренний список строкой.
3. Просто удалите «[‘Abc’ , ‘DEF’]» (двойные кавычки ) и сделайте это [‘ABC’ , ‘DEF’]
4. Вау отличный ответ, братан @sam2611