Python数据类型在常见集合中的语法

开发 后端
Python数据类型在不断的使用中需要大家仔细的学习。下面就是详细的介绍一些常见问题的解决方案。希望大家有所收获。

Python数据类型在平时的应用中有不少的知识需要大家详细的学习。下面就向大家介绍相关的技术问题。Python数据类型中的set和C#中的集合(collection)不是一个概念,这是翻译的问题。

Python中的集合是指无序的、不重复的元素集,类似数学中的集合概念,可对其进行交、并、差、补等逻辑运算。

常见集合的语法为:

  1. s = set(['a', 'b', 'c']) 

不过set在Python 3.0中发生了较大的变化,创建一个集合的语法变成了:s = {1,2,3},用花括弧的方法,与后边要提到的dict类似。

如果在set中传入重复元素,集合会自动将其合并。这个特性非常有用,比如去除列表里大量的重复元素,用set解决效率很高,示例如下:

  1. # -*- coding: utf-8 -*-  
  2. a = [11,22,33,44,11,22,11,11,22,22,33,33,33]  
  3. b = set(a)  
  4. print b  
  5. #输出 set([33, 11, 44, 22]) 

另一个例子,找出两个list里面相同的元素(集合求交,其它类推),代码如下:

  1. # -*- coding: utf-8 -*-  
  2. a = ["11","22","33"]  
  3. b = ["11","33"]  
  4. c = set(a)&set(b)  
  5. print c  
  6. #输出 set(['11', '33']) 

想想你如果自己实现这个算法会怎么写?然后可以找两个大一点的列表,比比和set实现的效率,你就会有体会了。以后在程序里多用set吧。
目前C#的Collections中好像还没有Set,但是C++ STL里是有的,不知道C#为什么不实现这个有趣的东西。

 

字典(dict)

用过C#中Collections的人对Hashtable应该不会陌生,Python数据类型里的哈希表就是字典(dict)了。与set类似,字典是一种无序存储结构,它包括关键字(key)和关键字对应的值(value)。#t#

C#程序员需要了解的就是,在Python中dict是一种内置的数据类型,定义方式为:dictionary = {key:value},当有多个键值对时,使用逗号进行分割。

字典里的关键字为不可变类型,如字符串、整数、只包含不可变对象的元组,列表等不能作为关键字。字典中一个键只能与一个值关联,对于同一个键,后添加的值会覆盖之前的值。

学过数据结构的人对字典的散列查找效率应该都有认识,所以我建议在可能的情况下尽量多用字典,其它的就不多写了。关于Python数据类型中dict类型(以及list、tuple、set)提供的主要方法,可以参考专门介绍Python的各种书籍,大多会提供一个详细的方法列表。

 

责任编辑:张浩 来源: 互联网
相关推荐

2021-03-02 21:52:48

Hive数据类型

2023-04-06 07:49:23

Python数据类型

2010-10-27 14:52:04

ORACLE数据类型

2010-09-17 14:49:04

Java数据类型

2022-03-01 23:31:29

Python编程语言变量

2010-08-06 10:32:49

Flex数据类型

2024-05-28 11:44:54

Redis数据结构数据库

2019-05-23 11:42:04

Java语法糖编程语言

2022-10-27 20:42:04

JavaScripJava编程语言

2010-04-01 10:55:48

Oracle 数据类型

2023-11-08 18:05:06

Python类型技巧

2021-06-12 09:39:50

Python字典数据类型Python基础

2022-03-21 19:45:06

序列数组Python

2023-10-17 07:57:56

Python数据类型

2010-03-11 15:56:15

Python列表

2019-08-12 11:40:48

数据库SQLite3数据类型

2023-10-19 07:42:37

Python数据类型

2010-09-13 10:21:26

sql server2

2010-10-08 14:45:43

mysql中int

2020-10-26 07:16:10

MySQLSchema数据
点赞
收藏

51CTO技术栈公众号