python实现从字符串中找出字符1的位置以及个数的方法

yipeiwu_com7年前Python基础

本文实例主要实现给出任意字符串,获取字符串中某字符的位置以及出现的总次数。

实现该功能代码的时候可以使用函数enumerate来将字符串分离成位置和字符,然后进行比较即可。

具体实现代码如下:

#!/bin/env python
#-*- coding:utf-8 -*-
#
"""
  用enumerate将string中的1都找出来,
  用enumerate实现:
"""
def get_1_pos(string):
  onePos=[]
  try:
    onePos=list(((pos,int(val)) for pos,val in enumerate(string) if val == '1'))
  except:
    pass
  return onePos

def get_1_num(string):
  return len(list(get_1_pos(string)))

def get_char_pos(string,char):
  chPos=[]
  try:
    chPos=list(((pos,char) for pos,val in enumerate(string) if(val == char)))
  except:
    pass
  return chPos
def get_char_num(string,char):
  return len(list(get_char_pos(string,char)))

if(__name__ == "__main__"):
  str0="10101010101010101"
  str1="123abc123abc123abc"
  lt=get_1_pos(str0)
  print(lt)
  lt=get_1_pos(str1)
  print(lt)
  num=get_1_num(str0)
  print(num)
  lt=get_char_pos(str1,'1')
  print(lt)
  num=get_char_num(str1,'1')
  print(num)  

希望本文实例对大家Python程序设计中字符串操作的学习有所帮助。

相关文章

使用Python实现将list中的每一项的首字母大写

如下所示: L = ['adam', 'Lisa', 'bart', 'Paul'] m=0 for i in L: L[m]=i[0].upper()+i[1:] m=m+...

基于Python实现一个简单的银行转账操作

基于Python实现一个简单的银行转账操作

前言 在进行一个应用系统的开发过程中,从上到下一般需要四个构件:客户端-业务逻辑层-数据访问层-数据库,其中数据访问层是一个底层、核心的技术。而且在实际开发中,数据库的操作也就是说数据访...

详解pandas使用drop_duplicates去除DataFrame重复项参数

Pandas之drop_duplicates:去除重复项 方法 DataFrame.drop_duplicates(subset=None, keep='first', inpl...

Python多进程写入同一文件的方法

Python多进程写入同一文件的方法

最近用python的正则表达式处理了一些文本数据,需要把结果写到文件里面,但是由于文件比较大,所以运行起来花费的时间很长。但是打开任务管理器发现CPU只占用了25%,上网找了一下原因发现...

python交互式图形编程实例(一)

本文实例为大家分享了python交互式图形编程的具体代码,供大家参考,具体内容如下 #!/usr/bin/env python3# -*- coding: utf-8 -*- #温...