在C ++中,我可以像这样遍历std::string

std::string str = "Hello World!";for (int i = 0; i < str.length(); ++i)
{std::cout << str[i] << std::endl;
}

如何在Python中迭代字符串?


#1楼

如果您想使用更实用的方法迭代字符串(可能以某种方式对其进行转换),您可以将字符串拆分为字符,将函数应用于每个字符串,然后将生成的字符列表连接回字符串。

字符串本质上是一个字符列表,因此'map'将遍历字符串 - 作为第二个参数 - 将函数 - 第一个参数 - 应用于每个字符串。

例如,在这里我使用一个简单的lambda方法,因为我想要做的只是对字符的一个微不足道的修改:这里,增加每个字符值:

>>> ''.join(map(lambda x: chr(ord(x)+1), "HAL"))
'IBM'

或更一般地说:

>>> ''.join(map(my_function, my_string))

其中my_function接受char值并返回char值。


#2楼

那么你也可以做这样有趣的事情,并通过使用for循环来完成你的工作

#suppose you have variable name
name = "Mr.Suryaa"
for index in range ( len ( name ) ):print ( name[index] ) #just like c and c++

答案是

先生 。 S uryaa

但是,由于range()创建了一个序列值列表,因此您可以直接使用该名称

for e in name:print(e)

这也会产生相同的结果,并且看起来更好,并且可以使用任何序列,如list,tuple和dictionary。

我们使用了两个内置函数(Python社区中的BIF)

1)range() - range()BIF用于创建索引Example

for i in range ( 5 ) :
can produce 0 , 1 , 2 , 3 , 4

2)len() - len()BIF用于找出给定字符串的长度


#3楼

如果在迭代字符串时需要访问索引,请使用enumerate()

>>> for i, c in enumerate('test'):
...     print i, c
...
0 t
1 e
2 s
3 t

#4楼

这里有几个答案使用rangexrange通常更好,因为它返回一个生成器,而不是一个完全实例化的列表。 如果内存和/或长度变化很大的迭代可能成为一个问题,那么xrange是优越的。


#5楼

您可以使用带有print和序列解包的格式化字符串文字( PEP498 ; Pyton 3.6+)并enumerate

print(*(f'{idx} {char}' for idx, char in enumerate('Hello!')), sep='\n')0 H
1 e
2 l
3 l
4 o
5 !

如果打印tuple值足够,则不需要生成器表达式:

print(*enumerate('Hello!'), sep='\n')(0, 'H')
(1, 'e')
(2, 'l')
(3, 'l')
(4, 'o')
(5, '!')

#6楼

更简单:

for c in "test":print c

#7楼

正如约翰内斯指出的那样,

for c in "string":#do something with c

你可以使用for loop结构在python中迭代几乎任何东西,

例如, open("file.txt")返回一个文件对象(并打开文件),迭代它迭代该文件中的行

with open(filename) as f:for line in f:# do something with line

如果这看起来像魔术那么有点,但它背后的想法非常简单。

有一个简单的迭代器协议,可以应用于任何类型的对象,以使for循环工作。

只需实现一个定义next()方法的迭代器,并在类上实现__iter__方法以使其可迭代。 (当然__iter__应该返回一个迭代器对象,即一个定义next()的对象)

见官方文档


#8楼

只是为了得到一个更全面的答案,迭代字符串的C方式可以应用于Python,如果你真的想要一个方形挂钩进入一个圆孔。

i = 0
while i < len(str):print str[i]i += 1

但话又说回来,为什么当字符串固有地可迭代时呢?

for i in str:print i

使用Python迭代字符串中的每个字符相关推荐

  1. python删除指定位置的字符串_python去除区域 python删除字符串中指定位置字符

    python删除字符串中指定位置字符 原程序是这样的: ser = serial.Serial("/dev/ttyAMA0", 9600) def main字符串的话,你可以把他当 ...

  2. Python统计字符串中的中英文字符、数字空格,特殊字符

    # -*- coding:utf8 -*-import stringfrom collections import namedtuple def str_count(s): '''找出字符串中的中英文 ...

  3. python访问字符串中的部分字符的操作_python中字符串的常见操作方法

    1. 字符串概念,字符串是一个容器,包含若干个字符并按照一定的顺序组织成一个整体.字符串支持索引操作. 2. 创建字符串基本语法 变量名 = "字符串信息" 变量名 = '字符串信 ...

  4. python 提取字符串中的中文字符

    仅仅提取汉字字符 p1='帮会建了徽信群 没在群里的加下徽信:[30109552300],晚上群里有活动通知大家,(抢资源),争地盘,谢谢配合.i love you ' pre = re.compil ...

  5. python删除字符串中的无意义字符

    一个正则匹配式的问题,把下面代码中的remove_chars正则匹配式码住就行 import re remove_chars = '[0-9'!"#$%&\'()*+,-./:;&l ...

  6. python寻找字符串中的英文字符,python如何解析字符串中出现的英文人名?

    这里有四个例子,结果来自google scholar str1 = "Jakes, William C., and Donald C. Cox. Microwave mobile commu ...

  7. python统计字符串中某个字符出现的次数_【面试题总结】1、统计字符串中某个字符出现的次数(2-Python实现)...

    1.可以使用Python的字典实现,对于一个特定的字符串,使用for循环遍历其中的字符,并保存成字典形式.字典的key为字符,value为字符在整个字符串中出现的次数. 2.拓展:如果题目为比较两个字 ...

  8. python使用正则表达式删除字符串中的其它字符只保留数字和字母

    python使用正则表达式删除字符串中的其它字符只保留数字和字母 #python使用正则表达式删除字符串中的其它字符只保留数字和字母 # Python code to demonstrate # to ...

  9. [转载] 用python统计中文字符数_使用Python统计字符串中各种字符的个数

    参考链接: Python中遍历字符串的单词 Python 统计字符串中各种字符出现的次数 一.提出问题 随机输入一段字符串,包括数字,英文,空格,其他字符,统计这些字符在其中出现的次数 二.难点提示思 ...

最新文章

  1. location和location.href跳转url的区别
  2. android 自定义皮肤,Android Studio 自定义皮肤主题和背景
  3. wxWidgets:wxPlatformInfo类用法
  4. 用于.NET Core的ORM
  5. 大二计算机应用基础1200体会,计算机应用基础1200题.doc
  6. UI素材|管理系统数字可视化界面
  7. 亲历阿里巴巴五轮面试分享
  8. 内核初始化-从start_kernel到init
  9. IOS-Run loop学习总结
  10. RSS文件的基本格式
  11. Lua云验证卡密破解工具
  12. leetcode(17~30)
  13. 一个优质软件测试工程师简历,疯狂面试5家公司......
  14. 蓝凌生态OA,重新定义中大型企业数字化办公
  15. 一文详解SLAM回环及优化
  16. 相机标定—标定图片拍摄规范(附棋盘图)
  17. php调用翻译,PHP调用有道词典翻译API实现翻译功能及代码
  18. 基于R的FP树fp growth 关联数据挖掘技术在煤矿隐患管理
  19. c语言如何判断字符json,全面详解C语言使用cJSON解析JSON字符
  20. Android 百度鹰眼 SDK

热门文章

  1. Cocon90.Db调用方法
  2. java 静态变量与静态初始化块中变量的初始化顺序
  3. centos5 vnc安装配置
  4. 死锁、活锁、性能问题
  5. ffmpeg常用命令(windows)
  6. 验证GridControl Gridview 单元格。
  7. (转)30分钟正则表达式入门
  8. Spring Security 3.0控制一个帐号只允许登录一次的问题
  9. OBJECTPROPERTY函数使用
  10. kubernetes常用命令整理