使用Python迭代字符串中的每个字符
在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楼
这里有几个答案使用range
。 xrange
通常更好,因为它返回一个生成器,而不是一个完全实例化的列表。 如果内存和/或长度变化很大的迭代可能成为一个问题,那么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迭代字符串中的每个字符相关推荐
- python删除指定位置的字符串_python去除区域 python删除字符串中指定位置字符
python删除字符串中指定位置字符 原程序是这样的: ser = serial.Serial("/dev/ttyAMA0", 9600) def main字符串的话,你可以把他当 ...
- Python统计字符串中的中英文字符、数字空格,特殊字符
# -*- coding:utf8 -*-import stringfrom collections import namedtuple def str_count(s): '''找出字符串中的中英文 ...
- python访问字符串中的部分字符的操作_python中字符串的常见操作方法
1. 字符串概念,字符串是一个容器,包含若干个字符并按照一定的顺序组织成一个整体.字符串支持索引操作. 2. 创建字符串基本语法 变量名 = "字符串信息" 变量名 = '字符串信 ...
- python 提取字符串中的中文字符
仅仅提取汉字字符 p1='帮会建了徽信群 没在群里的加下徽信:[30109552300],晚上群里有活动通知大家,(抢资源),争地盘,谢谢配合.i love you ' pre = re.compil ...
- python删除字符串中的无意义字符
一个正则匹配式的问题,把下面代码中的remove_chars正则匹配式码住就行 import re remove_chars = '[0-9'!"#$%&\'()*+,-./:;&l ...
- python寻找字符串中的英文字符,python如何解析字符串中出现的英文人名?
这里有四个例子,结果来自google scholar str1 = "Jakes, William C., and Donald C. Cox. Microwave mobile commu ...
- python统计字符串中某个字符出现的次数_【面试题总结】1、统计字符串中某个字符出现的次数(2-Python实现)...
1.可以使用Python的字典实现,对于一个特定的字符串,使用for循环遍历其中的字符,并保存成字典形式.字典的key为字符,value为字符在整个字符串中出现的次数. 2.拓展:如果题目为比较两个字 ...
- python使用正则表达式删除字符串中的其它字符只保留数字和字母
python使用正则表达式删除字符串中的其它字符只保留数字和字母 #python使用正则表达式删除字符串中的其它字符只保留数字和字母 # Python code to demonstrate # to ...
- [转载] 用python统计中文字符数_使用Python统计字符串中各种字符的个数
参考链接: Python中遍历字符串的单词 Python 统计字符串中各种字符出现的次数 一.提出问题 随机输入一段字符串,包括数字,英文,空格,其他字符,统计这些字符在其中出现的次数 二.难点提示思 ...
最新文章
- location和location.href跳转url的区别
- android 自定义皮肤,Android Studio 自定义皮肤主题和背景
- wxWidgets:wxPlatformInfo类用法
- 用于.NET Core的ORM
- 大二计算机应用基础1200体会,计算机应用基础1200题.doc
- UI素材|管理系统数字可视化界面
- 亲历阿里巴巴五轮面试分享
- 内核初始化-从start_kernel到init
- IOS-Run loop学习总结
- RSS文件的基本格式
- Lua云验证卡密破解工具
- leetcode(17~30)
- 一个优质软件测试工程师简历,疯狂面试5家公司......
- 蓝凌生态OA,重新定义中大型企业数字化办公
- 一文详解SLAM回环及优化
- 相机标定—标定图片拍摄规范(附棋盘图)
- php调用翻译,PHP调用有道词典翻译API实现翻译功能及代码
- 基于R的FP树fp growth 关联数据挖掘技术在煤矿隐患管理
- c语言如何判断字符json,全面详解C语言使用cJSON解析JSON字符
- Android 百度鹰眼 SDK