我如何在Python中迭代一个字符串(从字符串中获得每个字符,一次一个,每次通过循环)?
当前回答
你还可以做一些有趣的事情通过使用for循环来完成工作
#suppose you have variable name
name = "Mr.Suryaa"
for index in range ( len ( name ) ):
print ( name[index] ) #just like c and c++
答案是
M r。S u y a a
然而,由于range()创建了一个序列值列表,因此您可以直接使用该名称
for e in name:
print(e)
这也会产生相同的结果,而且看起来更好,适用于任何序列,如列表、元组和字典。
我们已经使用了两个内置函数(Python社区中的bif)
1) range() - range() BIF用于创建索引 例子
for i in range ( 5 ) :
can produce 0 , 1 , 2 , 3 , 4
2) len() - len() BIF用于找出给定字符串的长度
其他回答
更简单:
for c in "test":
print c
这里有几个答案使用了range。Xrange通常更好,因为它返回一个生成器,而不是一个完全实例化的列表。当内存和或可迭代对象的长度大不相同时,xrange是更好的选择。
只是做一个更全面的回答,如果你真的想把一个方钉子塞进一个圆洞里,可以在Python中应用C语言迭代字符串的方式。
i = 0
while i < len(str):
print str[i]
i += 1
但话说回来,当字符串本质上是可迭代的时,为什么要这样做呢?
for i in str:
print i
你还可以做一些有趣的事情通过使用for循环来完成工作
#suppose you have variable name
name = "Mr.Suryaa"
for index in range ( len ( name ) ):
print ( name[index] ) #just like c and c++
答案是
M r。S u y a a
然而,由于range()创建了一个序列值列表,因此您可以直接使用该名称
for e in name:
print(e)
这也会产生相同的结果,而且看起来更好,适用于任何序列,如列表、元组和字典。
我们已经使用了两个内置函数(Python社区中的bif)
1) range() - range() BIF用于创建索引 例子
for i in range ( 5 ) :
can produce 0 , 1 , 2 , 3 , 4
2) len() - len() BIF用于找出给定字符串的长度
如果您希望使用更函数化的方法来迭代字符串(也许以某种方式转换它),您可以将字符串分割为字符,对每个字符应用一个函数,然后将生成的字符列表连接回字符串。
字符串本质上是一个字符列表,因此'map'将迭代字符串-作为第二个参数-将函数-第一个参数-应用到每个字符串。
例如,这里我使用一个简单的lambda方法,因为我想做的只是对字符进行简单的修改:这里,增加每个字符值:
>>> ''.join(map(lambda x: chr(ord(x)+1), "HAL"))
'IBM'
或者更一般地说:
>>> ''.join(map(my_function, my_string))
其中my_function接受一个char值并返回一个char值。
推荐文章
- python中的assertEquals和assertEqual
- 如何保持Python打印不添加换行符或空格?
- 为什么Python的无穷散列中有π的数字?
- Python 3.7数据类中的类继承
- 如何在PyTorch中初始化权重?
- 计数唯一的值在一列熊猫数据框架像在Qlik?
- 如何在Typescript中解析JSON字符串
- 使用Pandas将列转换为行
- 从matplotlib中的颜色映射中获取单个颜色
- 将Pandas或Numpy Nan替换为None以用于MysqlDB
- 使用pandas对同一列进行多个聚合
- 使用Python解析HTML
- 如何分割逗号分隔的字符串?
- Java字符串—查看字符串是否只包含数字而不包含字母
- django MultiValueDictKeyError错误,我如何处理它