python常用数据操作

一、字符串

1、字符串替换:replace

str = '[{"jobName":"ExpireSendSmsJob"},{"jobName":"LoanOverSendSmsJob"}] '
repl_str = str.replace('jobName','任务名称')
print('替换前',str)
print('替换后',repl_str)

输出:

替换前 [{"jobName":"ExpireSendSmsJob"},{"jobName":"LoanOverSendSmsJob",}]
替换后 [{"任务名称":"ExpireSendSmsJob"},{"任务名称":"LoanOverSendSmsJob",}]

 

2、字符串中字符出现次数:count

strs = 'Hello Hello'
counts = {}
for i in strs:
counts[i] = strs.count(i)
for key in counts:
print(f'"{key}":{counts[key]}次')

输出:

"H":2次
"e":2次
"l":4次
"o":2次
" ":1次

3、字符串反转:reversed 及切片

#方法一 reversed
a = 'abc'
b = reversed(a) # reversed object迭代器
print("".join(b))
#方法二 切片,下标从0开始,前闭后开,步长默认1
a = 'abc'
print(a[::-1])

输出:

cba
cba

二、列表操作

1、列表去重:set

 

lists = ["A", "B", "C", "D", 'A']
repl_lists = list(set(lists))
print('替换前', lists)
print('替换后',repl_lists)

# 方法二(循环,有序):
news_list = []
for i in lists:
    if i not in news_list:
        news_list.append(i)
print('有序:',news_list)

 输出:

替换前 ['A', 'B', 'C', 'D', 'A']
替换后 ['D', 'A', 'B', 'C']
有序: ['A', 'B', 'C', 'D']

 

2、列表取交集、差集、并集

 

lst1 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
lst2 = [-3, -2, -1, 0, 1]
lst3 = list(set(lst1) & set(lst2)) # 或者用“intersection"也是取交集,还有lst3 = [j for j in lst1 if j in lst2] 
lst4 = list(set(lst1).intersection(set(lst2))) # 或者用 “|”也是取并集
lst5 = list(set(lst1).difference(set(lst2))) # 或者用 “-”也是取差集
print(lst3)
print(lst4)
print(lst5)

 输出:

[0, 1]
[0, 1]
[2, 3, 4, 5, 6, 7, 8, 9]

 

3、列表简单计算、变字典

 

list1=[0,1,2,3,4,5]
list2= {i:i*i for i in list1}
list3=[[i,i*i] for i in list1]
print(list2)
print(list3)

 输出:

{0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
[[0, 0], [1, 1], [2, 4], [3, 9], [4, 16], [5, 25]]

4、字符串以空格分割并去掉多余空格

 

s = '  0 0/3 *  * * ? '
l = s.split(' ')
print(l)
t =[i for i in l if i]
print(t)
# 方法二(while+remove): 
while '' in l:
l.remove('')

 输出:

['', '', '0', '0/3', '*', '', '*', '*', '?', '']
['0', '0/3', '*', '*', '*', '?']

5、列表打包、解压:zip

a = ['a','b','c','d','e']
b = (1,2,3,4,5,6,7)
ob = zip(a,b) # 转为一个对象,长度由最短的参数决定
print(ob)
print(list(ob)) # 转为列表,元素为元组
a1,b1=zip(*zip(a,b)) # 解压
print(a1)
print(b1)
print(type(a1))

输出:

<zip object at 0x0000022B57AB9F80>
[('a', 1), ('b', 2), ('c', 3), ('d', 4), ('e', 5)]
('a', 'b', 'c', 'd', 'e')
(1, 2, 3, 4, 5)
<class 'tuple'>

 

6、列表排序

list = ['tom','jan','marry','coco']
list.sort() # 按字母排序
print(list)
list.sort(key=lambda x:len(x))   # 按字符串升序排序
print(list)
list = ['tom','jan','marry','coco']
list.sort(key=lambda x:len(x),reverse=True) # 按字符串长度降序排
print(list)

输出:

['coco', 'jan', 'marry', 'tom']
['jan', 'tom', 'coco', 'marry']
['marry', 'coco', 'tom', 'jan']

posted @ 2021-08-23 10:23  踩泥靴  阅读(114)  评论(0编辑  收藏  举报