Python 对于循环问题,后面和前面的字符
所以我有个问题,我希望for j循环在for I循环之后开始一个字符,但我不能使用Python 对于循环问题,后面和前面的字符,python,list,loops,range,Python,List,Loops,Range,所以我有个问题,我希望for j循环在for I循环之后开始一个字符,但我不能使用range()函数 for i in b: for j in b: if i < j: print(i * 2) print(j * 2) break 对于b中的i: 对于b中的j: 如果i
range()
函数
for i in b:
for j in b:
if i < j:
print(i * 2)
print(j * 2)
break
对于b中的i:
对于b中的j:
如果i
如果根本不允许使用范围,那么这里有一个带有enumerate的版本
for index, i in enumerate(b):
for j in b[index:]:
if i < j:
print(i * 2)
print(j * 2)
break
您可以使用while循环来测试计数器是否小于iterable对象
b
的大小,而不是range
和for循环
size\u of_b=len(b)
i=0
而i
要获得更高级的pythonic方法,可以使用。它返回iterable的每个步骤的索引和值:
#这里我使用了更具描述性的变量名,因此更容易理解。
对于外部索引,枚举中的外部值(项):
#对于内部循环,我们可以对列表进行切片,使其从1+外部索引开始
内部索引=外部索引+1
对于项目[内部索引:]中的内部索引值:
如果外部_值<内部_值:
打印(外部值*2,内部值*2,sep=“\n”)
打破
我相信问题是他不能使用range()?这绝对是我的错。我看到他是python新手,所以我做了一些我不应该做的假设。变量b是列表吗?嗨,b
有什么特别的地方吗?为什么不能使用范围?你能使用枚举?嗨,你能给出一点你想做的事情的背景吗?你能澄清这个问题吗?
for i in range(len(b)):
for j in range(i, len(b)):
if b[i] < b[j]:
print(b[i] * 2)
print(b[j] * 2)
break