🐍
JavaScriptとPythonにおける文字列(配列・リスト)の切り出し
はじめに
この記事は、JavaScriptに触ってきた(といっても1年くらい)者がPythonも使うようになったので、JavaScriptとPythonの相互変換を目指し、その備忘録として書いています。
今回は、文字列(配列・リスト)の切り出しについてです。
文字列の切り出し
JavaScript
const str = 'abcdef';
// start: 切り出し開始位置, end: 切り出し終了位置(自分自身は含まない)
// slice(start, end)
// endのみ省略可
// 3文字目以降
console.log(str.slice(2)); // output: 'cdef'
// 2文字目から5文字目まで
console.log(str.slice(1, 5)); // output: 'bcde'
// 末尾2文字
console.log(str.slice(-2)); // output: 'ef'
// 末尾2文字を除く
console.log(str.slice(0, -2)); // output: 'abcd'
// 4文字目のみ
console.log(str[3]); // output: 'd'
Python
str = 'abcdef'
# start: 切り出し開始位置, end: 切り出し終了位置(自分自身は含まない)
# str[start:end]
# startもしくはendのどちらか一方のみ省略可
# 3文字目以降
print(str[2:]) # output: 'cdef'
# 2文字目から5文字目まで
print(str[1:5]) # output: 'bcde'
# 末尾2文字
print(str[-2:]) # output: 'ef'
# 末尾2文字を除く
print(str[:-2]) # output: 'abcd'
# 4文字目のみ
print(str[3]) # output: 'd'
配列・リストの切り出し
JavaScript
const arr = [10, 20, 30, 40, 50, 60];
// 文字列の場合とほぼ同じ
// 3要素目以降
console.log(arr.slice(2)); // output: [30, 40, 50, 60]
// 2要素目から5要素目まで
console.log(str.slice(1, 5)); // output: [20, 30, 40, 50]
// 末尾2要素
console.log(str.slice(-2)); // output: [50, 60]
// 末尾2要素を除く
console.log(str.slice(0, -2)); // output: [10, 20, 30, 40]
// 4要素目のみ
console.log(str[3]); // output: 40
Python
list = [10, 20, 30, 40, 50, 60]
# こちらも文字列の場合とほぼ同じ
# 3要素目以降
print(list[2:]) # output: [30, 40, 50, 60]
# 2要素目から5要素目まで
print(list[1:5]) # output: [20, 30, 40, 50]
# 末尾2要素
print(list[-2:]) # output: [50, 60]
# 末尾2要素を除く
print(list[:-2]) # output: [10, 20, 30, 40]
# 4要素目のみ
print(list[3]) # output: 40
おわりに
JavaScriptだとsubstring()メソッド(こっちが本家?)もあるけど、startとendが変わってOKなだけだからあまり使うメリットがない気がする...
それにしてもPythonは記法が直感的でわかりやすい。
参考
pythonの公式ドキュメントはググってください...すみません...
Discussion