☆☆ 新着記事 ☆☆

2020年5月25日月曜日

Pythohn 文字列の配列 join(), split(), slice() , strip()メソッド


'間に挿入する文字列'.join([連結したい文字列のリスト])


l = ['aaa', 'bbb', 'ccc']

s = ''.join(l)
print(s)
# aaabbbccc

s = ','.join(l)
print(s)
# aaa,bbb,ccc

s = '-'.join(l)
print(s)
# aaa-bbb-ccc

s = '\n'.join(l)
print(s)
# aaa
# bbb
# ccc


(使用例)

各県別の数字をリスト形式でまとめておいて、結果を一気にプリントする時などに使える。

for i in range(0,5):
    today_num=length-(47-i)
    yesterday_num=length-(47*2-i)
    twoDaysAgo_num =length-(47*3-i)
    sevenDaysAgo_num =length-(47*7-i)

    ##新規人数
    today_People = int(data[today_num]["People "])
    yesterday_People  =int(data[yesterday_num]["People "])
    twoDaysAgo_People  = int(data[twoDaysAgo_num]["People "])
    sevenDaysAgo_People  = int(data[sevenDaysAgo_num]["People "])

    today_new_People  = today_People  - yesterday_People
    yesterday_new_People = yesterday_People - twoDaysAgo_People
    sevenDays_new_People  = today_People -  sevenDaysAgo_People

    comment_loop.append( "\n"+ data[today_num]["prefectureNameJ"] + "\n"+"新規人数: "+ str(today_new_People ) +"人" + "(前日: " + str(yesterday_new_People ) +"人)\n1週間計: " + str(sevenDays_new_People ) +"人")

text = ''.join(comment_loop)
print(text)

#output
5月23日24時現在
埼玉県
新規人数: 1人(前日: 1人)
1週間計: 11人
千葉県
新規人数: 0人(前日: 0人)
1週間計: 6人
東京都
新規人数: 2人(前日: 3人)
1週間計: 36人
神奈川県
新規人数: 0人(前日: 7人)
1週間計: 71人


'文字列を分割する' .split([分割したい文字列のリスト])
splitメソッドは、文字列型(String)オブジェクトを分割する

mystr = 'Hello world! This is a sample'
res = mystr.split(' ') // 空白で分割
print(res) // ['Hello', 'world!', 'This', 'is', 'a', 'sample']

改行(\n)やタブ(\t)を表示させないようにするには、引数を指定しない。
res1 = mystr.split()


res = url.split('/') // スラッシュで分割


' Pythonのシーケンスの一部分を取り出す操作' .slice([開始, 終了, 増分])
https://note.nkmk.me/python-slice-usage/



'前後の文字を削除する '.strip (削除したい文字)

Strip method
data = ["abc","bda","aabbcc","Eca","EcaD"]

for i in data:
    print(i)
    a = i.strip('a''c')
    print(a)

abc (前後は削除可)
b

bda(後は削除可)
bd

aabbcc(最前、最後尾の文字に連続していれば削除可)
bb

Eca(最前、最後尾の文字に連続していれば削除可)
E

EcaD(最前、最後尾の文字に連続していないので削除不可)
EcaD

例)
data = ["(-0.23%)","(+0.52%)","(-0.13%)","(+0.41%)"]


for i in data:
    print(i)
    a = float(i.strip('(  '' %'' )')) # %と「」を除いたStringにしてfloatで少数に。
    if a > 0:
        print('plus')
    else:
        print('negative') #マイナスの判断も可。

0 件のコメント:

コメントを投稿