одно значение повторяется точно так же, как список или содержащий его кортеж

#python

#python

Вопрос:

Существует ли какое-либо другое значение, кроме строки с одним символом, такое, что:

 v = '?' # any char
assert [x for x in v] == [x for x in [v]]
  

? Я спрашиваю, потому что из-за этой «аномалии» я должен обрабатывать строки особым образом.


Я попытался сделать свой вопрос минимальным. Чтобы ответить на комментарии, это связано с API, принимающим последовательность элементов, но в подавляющем большинстве случаев передается только один элемент, поэтому было решено принять также один элемент.

Под «аномалией» я подразумеваю, что это похоже на известную математическую задачу о множестве, содержащем само себя.

Комментарии:

1. Зачем использовать [v] и какие аномалии?

2. Возможная проблема XY: в каком контексте вам нужно рассматривать str значение как фактически не итерируемое?

3. В Python символ char может быть выражен только в виде строки, которая представляет собой набор символов, поэтому мало чем отличается от списка, который также является коллекцией.

4. Сравните с v = 'abc' , и причина такого поведения будет очевидна.

5. l = []; l.append(l) , но в большинстве случаев, когда вы хотели бы обрабатывать строки по-другому, это всего лишь строки и байтовые строки, даже если что-то другое может иметь такое же поведение при итерации, и даже при том, что итерация по байтовой строке теперь приводит к целым числам.