【问题标题】:trying to advance from java to Python with no luck [duplicate]尝试从 Java 升级到 Python,但没有运气[重复]
【发布时间】:2013-10-21 02:17:27
【问题描述】:

所以我想在 python 中编写这个简单的 java 代码,但是我不能,我想打印从第一个索引到最后一个索引的所有字符串,所以如果我的字符串是“josh”,我想打印:

j 
o 
s
h

或者喜欢这个java代码:

   String name = josh;
   for(int i = 0; i < josh.length(); i++){
   print(josh.CharAt(i));
 }

我找不到任何类似 charAt 的方法,我猜它不存在 但是必须有其他方法可以做到,我知道这是一个愚蠢的问题,但我做不到 在网上或这里(在这个网站上)找到任何东西来帮助我,所以有什么想法吗?

【问题讨论】:

  • 看看 Python 中“可迭代”的概念。根据 Preet 的回答,您可以将字符串视为字符列表。或者,等价于 charAt() 是列表偏移量:josh[0]=="j".

标签: python for-loop


【解决方案1】:

试试这个:

name = "josh"
for i in name:
    print i
    # print(i) # python 3

name 是我们分配字符串文字"josh" 的变量。名称是 str(或 Python 3 中的 unicode

我们迭代name,因为字符串是可迭代的(具有__iter__() 方法)使用循环迭代语法。在name 的长度上,每次迭代都会将每个连续字符分配给循环变量i

请注意,我们不能分配给name[i],只能从中读取,因为字符串在 python 中是不可变的。

【讨论】:

  • 或 print(i) 用于 python 3.x
  • 你能解释一下吗?
  • 值得注意的是为什么会这样 - Python for 循环遍历可迭代对象,字符串是依次返回每个字符的可迭代对象。
  • 如此简单的代码不需要任何解释......即使是Java小子也不需要
  • @user2799617 这不是一个有用的回应——如果你要说这很明显,那么至少链接到相关的文档或教程。
猜你喜欢
  • 2010-12-03
  • 2011-02-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-04
  • 1970-01-01
  • 2019-10-31
相关资源
最近更新 更多