python字符串操作

一、多个列表合并成一个元组

str1=input().split()
str2=input().split()
dir1=dict(zip(str1,str2))
#压缩成字典的步骤  --两个列表变成字典---使用zip
list1=list(dir1.items())
#只写字典名称 是一个由键组成的列表  要返回键值元组的列表需要调用列表的items()函数
#变成列表,方便排序  样例最外面有括号

二、自定义比较规则

from functools import cmp_to_key
def mycmp(a,b):
    if a[1]>b[1]:
        return -1
    elif a[1]<b[1]:
        return 1
    else:
        if a[2]>b[2]:
            return -1
        elif a[2]<b[2]:
            return 1
        else:
            if a[3]>b[3]:
                return -1
            elif a[3]<b[3]:
                return 1
            else:
                return a[0]>b[0]
#写成了类c++cmp模式
#需要在每次从functools导入cmp_to_key

#调用方法
ans=sorted(list2,key=cmp_to_key(mycmp))

三、将结构体值变成列表,随后变成元组

 data=map(int,input().split())
 tup1=tuple(data)
# print(tup1)

四、推导式创建值为0的列表以及初始化空列表

[0 for i in range(n+1)]#初始化n+1个0

list_ans=[]        #初始化空列表

五、键盘输入间隔的多个数据,进行结构赋值

i,j,p,q=map(int,input().split())

六、将特殊字符分割变为指定字符空格且使得多间隔变成单间隔

new_str=" ".join(input().split("$"))

#注意以下几个的区别
new_str="".join(input().split("$"))

new_str=" ".join(input().split())
new_str=" ".join(input().split(" "))


#也可以在这样切片后使用list
new_str=list(" ".join(input().split()))
#返回一个列表

#多空格变但空格    空格规范化


str1=input()
#list1=(" ".join(str1.split(" "))).split()
#这个是变成无空列表
list1=" ".join(str1.split(" "))
#这个是变成无多空格字符串

七、删除多个指定字符

str1=str1.replace("!"," ").replace("."," ").\
            replace(","," ").replace(":"," ").\
                    replace("*"," ").replace("?"," ")

#这是一个续行符,效果等价于下面这个

str1=str1.replace("!"," ").replace("."," ").replace(","," ").replace(":"," ").replace("*"," ").replace("?"," ")

八、获取一段文本的单词数量

sum=0#计数器
list1=(" ".join(str1.split(" "))).split()#返回一个列表
sum=len(list1)#求列表长度即求得单词数量

九、输出列表里的元素,以空格为分隔符,末尾没有分隔符

print(" ".join(i for i in list2))
#这个列表里面的元素是str  如果是数字得使用:
print(" ".join(str(i) for i in list2))

十、字典获取当前键的值,如果没有则创建并赋值,如果有则获取值然后进行增加

dic[str(level)]=dic.get(str(level),0)+1

dic[key]=dic.get(key),0)+1

#dic[键]=dic.get(键),默认值)+增量

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JSU_曾是此间年少

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值