发布网友 发布时间:2022-04-20 03:27
共6个回答
懂视网 时间:2022-04-18 06:58
今天小就为大家分享一篇python-list,set间的转换实例,具有很好的参考价值,其实python中,set转list的非常的简单,直接将set的值放入list()的括号中即可,相反,list转set也同样如此。(推荐学习:Python视频教程)
>>> s=set('123456') >>> print(s) {'6', '4', '5', '1', '2', '3'} >>> l=list(s) >>> l.sort() >>> print(l) ['1', '2', '3', '4', '5', '6'] >>> m=set(l) >>> print(m) {'6', '4', '5', '1', '2', '3'}
可见set和lsit可以自由转换,在删除list中多个/海量重复元素时,可以先转换成set,然后再转回list并排序(set没有排序)。此种方法不仅方便且效率较高。
更多Python相关技术文章,请访问Python教程栏目进行学习!
热心网友 时间:2022-04-18 04:06
Set 有键和值 一个list只能取键或值。
import java.util.ArrayList;
import java.util.HashSet;
public class Test {
public static void main(String[] args) {
Set<String> set = new HashSet<String>(); //生成Set
set.add("apple"); //set添加数据
List<String> list = new ArrayList<String>();//生成List
Iterator<String> it = set.iterator(); //遍历Set
while(it.hasNext()){
list.add(it.next().toString()); //Set转化List
}
Iterator<String> it2 = list.iterator(); //遍历List
while(it2.hasNext()){
System.out.println(it2.next()); //输出List
}
扩展资料:
在列表中,数据项的顺序是确定的,也可以存在多个相同的数据项。列表支持的操作包括查找项目并找到其位置(若存在),将项目从列表中删除,在特定位置插入项目等。通常的队列,或称FIFO即是一个列表,该列表只能在一端添加项目,而在另一端删除项目。
而栈,或LIFO则只能在同一端添加或删除项目。不管是队列还是栈,集合中项目的顺序都应当是一定的,因此这两种情况只是列表的特例。其它列表支持的操作包括排序,再一次说明了其中顺序的重要性。
参考资料来源:百度百科-集合
热心网友 时间:2022-04-18 05:24
因为List和Set都实现了Collection接口,且都实现了addAll(Collection<? extends E> c)方法,因此可以采用addAll()方法将List和Set互相转换;
另外,List和Set也提供了Collection<? extends E> c作为参数的构造函数,因此通常采用构造函数的形式完成互相转化。
//List转Set
Set<String> set = new HashSet<>(list);
System.out.println("set: " + set);
//Set转List
List<String> list_1 = new ArrayList<>(set);
System.out.println("list_1: " + list_1);
List与Set区别:
List与 set 不同,列表通常允许重复的元素。更确切地讲,列表通常允许满足 e1.equals(e2) 的元素对 e1 和 e2,并且如果列表本身允许 null 元素的话,通常它们允许多个 null 元素。
难免有人希望通过在用户尝试插入重复元素时抛出运行时异常的方法来禁止重复的列表,但我们希望这种用法越少越好。
List 接口在 iterator、add、remove、equals 和 hashCode 方法的协定上加了一些其他约定,超过了 Collection 接口中指定的约定。为方便起见,这里也包括了其他继承方法的声明。
List 接口提供了 4 种对列表元素进行定位(索引)访问方法。列表(像 Java 数组一样)是基于 0 的。注意,这些操作可能在和某些实现(例如 LinkedList 类)的索引值成比例的时间内执行。因此,如果调用者不知道实现,那么在列表元素上迭代通常优于用索引遍历列表。
List 接口提供了特殊的迭代器,称为 ListIterator,除了允许 Iterator 接口提供的正常操作外,该迭代器还允许元素插入和替换,以及双向访问。还提供了一个方法来获取从列表中指定位置开始的列表迭代器。
List 接口提供了两种搜索指定对象的方法。从性能的观点来看,应该小心使用这些方法。在很多实现中,它们将执行高开销的线性搜索。
List 接口提供了两种在列表的任意位置高效插入和移除多个元素的方法。
参考资料:百度百科—list
热心网友 时间:2022-04-18 06:58
转换其实很简单,SET集合里面的元素是不重复的赚LIST是比较容易的热心网友 时间:2022-04-18 08:50
如果你只是要获取set里的值,可以用Iterator
Set<Integer> set = new HashSet<Integer>();如果你是想转换成List,可以这样:
List<Integer> list = new ArrayList<Integer>(set);
热心网友 时间:2022-04-18 10:58
可以直接取啊
Set set=new HashSet();