Tag: 列表

消除列表元素的连续重复

有没有一个“好”的方法来消除连续重复的列表元素? 例: ["red"; "red"; "blue"; "green"; "green"; "red"; "red"; "yellow"; "white"; "white"; "red"; "white"; "white"] 应该成为 ["red"; "blue"; "green"; "red"; "yellow"; "white"; "red"; "white"] – “好”我的意思是对一个新的用户和快速执行最可读和易于理解:)

如何判断一个列表是无限的?

有没有办法告诉如果Haskell中的列表是无限的? 原因是我不想将length等函数应用到无限列表中。

random.choice从集? python

我正在做一个猜谜游戏的AI部分。 我希望AI从这个列表中select一个随机的字母。 我把它作为一个集合,所以我可以很容易地从列表中删除字母,因为他们在游戏中被猜出,因此不再可以被猜到。 它说“set”对象是不可转位的。 我如何解决这个问题? import random aiTurn=True while aiTurn == True: allLetters = set(list('abcdefghijklmnopqrstuvwxyz')) aiGuess=random.choice(allLetters) print (aiGuess)

队列<T> vs List <T>

我目前使用List<T>作为队列(使用lst[0]然后lst.removeAt(0) )来保存对象。 在给定的时间最多有20个项目。 我意识到有一个实际的Queue<T>类。 我想知道是否有任何好处(性能,内存等)使用Queue<T>超过List<T>行事像一个队列?

按值分组

比方说,我有这样一个列表: list = [["A",0], ["B",1], ["C",0], ["D",2], ["E",2]] 我怎样才能最优雅的组合这个得到这个列表输出在Python中: list = [["A", "C"], ["B"], ["D", "E"]] 所以这些值是按secound值分组的,但顺序是保留的。

string.split返回一个string我想要一个List <string>是否有一个class轮将数组转换为列表?

C#中的列表有.ToArray()方法。 我想要一个数组转换成列表的逆。 我知道如何创build一个列表,并通过它循环,但我想要一个class轮交换回来。 我正在使用.NET 2.0环境中的String.Split方法,所以LINQ等不可用。

如何将多个值附加到Python中的列表

我想弄清楚如何将多个值附加到Python中的列表。 我知道有很less的方法可以这样做,比如手动input值,或者在for循环中追加操作,或者append和extend函数。 但是,我想知道有没有更为简洁的方法呢? 也许某个包或function? 我是Python的第一天,所以请原谅我,如果我问天真的问题。 非常感谢你。 🙂

为什么元组比列表更快?

我刚刚读过“潜入Python” ,“元组比列表更快”。 元组是不可变的,列表是可变的,但我不太明白为什么元组更快。 有人对此做过性能testing吗?

从List <T>转换为数组T

有一个简单的方法将强types的List<T>转换为相同types的数组,例如: List<MyClass>为MyClass[] ? 简而言之,我的意思是一个方法调用,或者至less比: MyClass[] myArray = new MyClass[list.Count]; int i = 0; foreach (MyClass myClass in list) { myArray[i++] = myClass; }

直接将List <String>转换为List <Integer>

parsing我的文件后,包含AttributeGet:1,16,10106,10111 所以我需要在属性IDGet列表中获得分号后的所有数字。 我知道有几种方法可以做到这一点。 但有什么办法,我们可以直接将List<String>转换为List<Integer> 。 由于下面的代码抱怨types不匹配,所以我试图做Integer.parseInt,但我想这不会为列表工作。 这里s是String。 private static List<Integer> attributeIDGet = new ArrayList<Integer>();; if(s.contains("AttributeGet:")) { attributeIDGet = Arrays.asList(s.split(":")[1].split(",")); }