Python中文
首页
教程
问答
标签
搜索
登录
注册
python中forloop的问题
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>这个代码应该能够对项目进行排序自身数组根据中字符的顺序自我命令. 方法sort在第三次迭代之前正常运行,由于某种原因for循环似乎无限期重复。这是怎么回事?在</p> <p>编辑:我正在创建我自己的sort函数,因为它是python任务的一个额外部分。在</p> <pre><code>class sorting_class: def __init__(self): self.array = ['ca', 'bd', 'ac', 'ab'] #An array of strings self.arrayt = [] self.globali = 0 self.globalii = 0 self.order = ['a', 'b', 'c', 'd'] #Order of characters self.orderi = 0 self.carry = [] self.leave = [] self.sortedlist = [] def sort(self): for arrayi in self.arrayt: #This should only loop for the number items in self.arrayt. However, the third time this is run it seems to loop indefinitely. print ('run', arrayi) #Shows the problem if self.order[self.orderi] == arrayi[self.globali]: self.carry.<a href="https://www.cnpython.com/list/append" class="inner-link">append</a>(arrayi) else: if self.globali != 0: self.leave.append(arrayi) def srt(self): self.arrayt = self.array my.sort() #First this runs the first time. while len(self.sortedlist) != len(self.array): if len(self.carry) == 1: self.sortedlist.append(self.carry) self.arrayt = self.leave self.leave = [] self.carry = [] self.globali = 1 self.orderi = 0 my.sort() elif len(self.carry) == 0: if len(self.leave) != 0: #Because nothing matches 'aa' during the second iteration, this code runs the third time" self.arrayt = self.leave self.globali = 1 self.orderi += 1 my.sort() else: self.arrayt = self.array self.globalii += 1 self.orderi = self.globalii self.globali = 0 my.sort() self.orderi = 0 else: #This is what runs the second time. self.arrayt = self.carry self.carry = [] self.globali += 1 my.sort() my = sorting_class() my.srt() </code></pre>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>在循环的第三个过程中,您将向要迭代的列表追加新元素,因此您永远不能离开循环:<br/> <code>self.arrayt = self.leave</code>-此赋值导致<code>self.leave.append(arrayi)</code>将向<code>self.arrayt</code>引用的列表追加元素。在</p> <p>一般来说,您可以考虑创建列表的副本,而不仅仅是将不同的变量/成员分配给相同的列表实例。在</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何在python中从数据帧列中删除分类值?
5 回答
如何在python中从数据帧列表中删除引号
7 回答
如何在python中从数据帧创建列表
10 回答
如何在Python中从数据帧创建嵌套的JSON
3 回答
如何在Python中从数据帧显示wordcloud
6 回答
如何在Python中从数据帧的时间戳中删除字符
7 回答
如何在Python中从数据帧绘制简单绘图?
1 回答
如何在python中从数据帧行提取具有特定长度的范围?
1 回答
如何在python中从数据帧设置dict中的值
2 回答
如何在Python中从数据库中获得一个结果
6 回答
如何在python中从数据框中绘制分类条形图
5 回答
如何在Python中从数据框中选择特定细节?
5 回答
如何在python中从数据集中删除unicode
4 回答
如何在python中从数据集中删除某些数值?
1 回答
如何在python中从数据集中选择行
6 回答
如何在Python中从数组中删除元素
3 回答
如何在python中从数组中删除单个倒逗号?
4 回答
如何在python中从数组中删除对象?
4 回答
如何在python中从数组中删除引号
3 回答
如何在python中从数组中删除所有最小值
1 回答