Chatpter.1 - 見えない値の映しかた
見えない値の映しかた
print() を使うとたいていの値は見られますが・・・。
-
たまにこんな感じで肩透かしをくらうことがあったりします。
words = ['猫', 'の', 'み', 'ぞ', '知', 'る', 'ア', 'タ', 'イ'] print(reversed(words))
<list_reverseiterator object at 0x14881df13130>
ふむふむわからん
text = 'この変換、めんどくさい' print(reversed(text))
<reversed object at 0x14881df13130>
あぁそれね! 実際に見てみてください!
-
そんな時には list(👻) を使うと、その値が見られるようになります。
値がリストの場合
words = ['猫', 'の', 'み', 'ぞ', '知', 'る', 'ア', 'タ', 'イ'] words_rvsd = list(reversed(words)) print(words_rvsd)
words = ['猫', 'の', 'み', 'ぞ', '知', 'る', 'ア', 'タ', 'イ'] words_rvsd = list(reversed(['猫', 'の', 'み', 'ぞ', '知', 'る', 'ア', 'タ', 'イ'])) print(words_rvsd)
↓ 中身こんなんだけど・・・
words = ['猫', 'の', 'み', 'ぞ', '知', 'る', 'ア', 'タ', 'イ'] words_rvsd = list(<list_reverseiterator object at 0x14881df13130>) print(words_rvsd)
↓ list() を使うと、リストにして見せてくれる。
words = ['猫', 'の', 'み', 'ぞ', '知', 'る', 'ア', 'タ', 'イ'] words_rvsd = ['イ', 'タ', 'ア', 'る', '知', 'ぞ', 'み', 'の', '猫'] print(words_rvsd)
['イ', 'タ', 'ア', 'る', '知', 'ぞ', 'み', 'の', '猫']
値が文字列の場合
text = 'この変換、めんどくさい' texts_rvsd = list(reversed(text)) print(texts_rvsd)
text = 'この変換、めんどくさい' texts_rvsd = list(reversed('この変換、めんどくさい')) print(texts_rvsd)
text = 'この変換、めんどくさい' texts_rvsd = list(<reversed object at 0x14881df13130>) print(texts_rvsd)
text = 'この変換、めんどくさい' texts_rvsd = ['い', 'さ', 'く', 'ど', 'ん', 'め', '、', '換', '変', 'の', 'こ'] print(texts_rvsd)
['い', 'さ', 'く', 'ど', 'ん', 'め', '、', '換', '変', 'の', 'こ']
list() を使って、きちんと見えるようにしてみましょう!
さらに見えないところで何やらコソコソやってますけど、気にしてはいけません。
-
これを元の文字列型に戻すと、
text_rvsd = ''.join(texts_rvsd) print(text_rvsd)
いさくどんめ、換変のこ
めっさめんどくさいですね。
-
簡単な方法として、文字列をそのまま逆順にしたい時は、
text = 'やがて逆になる' text_rvsd = text[::-1] print(text_rvsd)
text = 'やがて逆になる' text_rvsd = 'るなに逆てがや' print(text_rvsd)
るなに逆てがや
で、済んでしまいます。
-
この方法は、文字列じゃなくてリストでも余裕で使えます。
words = ['や', 'が', 'て', '逆', 'に', 'な', 'る'] words_rvsd = words[::-1] print(words_rvsd)
words = ['や', 'が', 'て', '逆', 'に', 'な', 'る'] words_rvsd = ['る', 'な', 'に', '逆', 'て', 'が', 'や'] print(words_rvsd)
['る', 'な', 'に', '逆', 'て', 'が', 'や']
(╯°Д°)╯彡 ┻━┻