Форум сайта python.su
помогите разобраться, почему не выводиться список с заглавными буквами
names=
names.append('виктория')
names.append('алексей')
names.append('максим')
names.append('кирилл')
names.append('галина')
names.append('татьяна')
print (names.title())
и выдает ошибку
print (names.title())
AttributeError: ‘list’ object has no attribute ‘title’
а если указывать по одному значению, то буква становится заглавной
print(names.title())
Виктория
Офлайн
Потому что метод title() - это метод строки. А у списка вообще другие методы.
>>> 'abc'.title() 'Abc' >>> ['a', 'b', 'c'].index('b') 1 >>>
>>> names = [] >>> names.append('виктория') >>> names.append('алексей') >>> names.append('максим') >>> names.append('кирилл') >>> names.append('галина') >>> names.append('татьяна') >>> [name.title() for name in names] ['Виктория', 'Алексей', 'Максим', 'Кирилл', 'Галина', 'Татьяна'] >>>
>>> names ['виктория', 'алексей', 'максим', 'кирилл', 'галина', 'татьяна'] >>> list(map(str.title, names)) ['Виктория', 'Алексей', 'Максим', 'Кирилл', 'Галина', 'Татьяна'] >>>
Офлайн
yjdbxjrА как вы узнали что не становится?
а если указывать по одному значению, то буква становится заглавной
print(["a","b"]) ["a","b"]
a =[1,2] a.append(3) print(a) [1,2,3] [1,[1,2]].append(3) # Что тут должно получиться? [1,[1,2],3] или [1,[1,2,3],3] ? # А если мне надо получить [1,[1,2],3] То как это сделать если принять второе поведение? [1,{}].append(3) # А это как должно работать? К словарю append неприменим. Должен быть exception или просто пропустить элемент?
Отредактировано doza_and (Окт. 25, 2020 07:27:14)
Офлайн
Спасибо большое. Теперь понятно.
Офлайн