Я знаю, что это один из способов, поставив запятую:
>>> empty = () >>> singleton = 'hello', # <-- note trailing comma >>> len(empty) 0 >>> len(singleton) 1 >>> singleton ('hello',)
Источник: http://docs.python.org/tutorial/datastructures.html
Есть ли еще способы определить кортеж только с 1 элементом?
>>> tuple(['hello']) ('hello',)
Но у встроенного синтаксиса есть причина.
Даже если вы можете определить кортеж как 'hello', Я думаю, кому-то будет легко пропустить завершающую запятую, если он читает ваш код. Я определенно предпочитаю ('hello',) с точки зрения читабельности.
'hello',
('hello',)
Еще один
>>> (1, 2)[0:1] (1,)
Очень запутанный способ, но он является альтернативой ...
singleton = ('hello',)
Я думаю, это более понятно, а @jleedev еще яснее. Но мне нравится метод, который вы использовали лучше всего:
singleton = 'hello',