Python数据类型及常用集合

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xubuwei/article/details/78833080

Python 中有六个标准的数据类型:

  • Number(数字)
  • String(字符串)
  • List(列表)
  • Tuple(元组)
  • Sets(集合)
  • Dictionary(字典)

在Python中定义变量的时候,变量是无需声明的,并且变量没有类型指明,我们所说的数据类型是指变量所存储的内存中的对象类型,比如是存的数字,字符串或者是数组集合。其中Number 又支持 int、float、bool、complex(复数)

判断Python 数据类型方法:
import types
type(x) is types.IntType # 判断是否int 类型
type(x) is types.StringType #是否string类型
type(x) is types.TupleType #是否tuple类型
type(x) is types.ListType #是否list类型
type(x) is types.FloatType #是否float 类型
………


Python中常用的几个数据集合:

  • list
  • tuple
  • set
  • dictionary

1.list

list是Python中最常见的类型了。

  • 创建
list1 = ["str1", "str2", "str3"]
list2 = ["name", "ID", 1024, 1080]
list3 = [1, 2, 3, 4, 5]
list_null = []  #空list
list_one_ele = [1] #单元数list
  • 访问元素
>>> list1[0] # 访问list1列表中的第一个元素
'str1'
>>> list2[-1] #访问list2列表中的最后个元素,负数idx从右边开始数
1080
>>> list3[-2] #访问list3列表中的倒数第二个元素
4
>>> list3[1:]
[2345]
  • 增减元素
    追加到末尾:
>>> list1.append("new_element")

追加到指定位置:

>>> list2.insert(1, "new_element")

删除指定元素:

>>> del list1[1]
>>> list1.remove('str2')

删除并返回最后一个元素:

>>> list1.pop()
  • 修改元素

直接赋值相应元素

>>> list2[1] = 'date'
  • 嵌套list

list可以组合嵌套,即一个大的list可以包含若干个小的list,大list中每个元素也是list。其实单个数也可以看出一个只包含一个元素的list。

>>> a = [1, 2, 3]
>>> b = ['a', 'b', 'c']
>>> x = [a, b]
>>> len(x) #总共list个数
2
>>> len(x[0]) #第一个list长度
3
>>> x[0]
[1, 2, 3]
>>> x[1][0]
'a'
>>> y = [x, 'str', 3]
>>> len(y)
4
  • list 运算

    扫描二维码关注公众号,回复: 5081124 查看本文章
    Python表达式 结果 描述
    len([1, 2, 3]) 3 list的长度
    [1, 2, 3] + [4, 5, 6] [1, 2, 3, 4, 5, 6] 组合
    [‘Hi~’] * 4 [‘Hi~’, ‘Hi~’, ‘Hi~’, ‘Hi~’] 重复
    3 in [1, 2, 3] True 元素是否存在于list中
    for x in [1, 2, 3]: print(x, end=” “) 1 2 3 遍历list中的元素

‘+’相当于list追加组合,’*’ 相当于重复list

2.tuple(元组)

tuple基本是list类似,但是tuple最大的不同是tuple是不可修改的,不能增减元素,不能修改其中的元素

  • 创建
tuple1 = ("str1", "str2", "str3")
tuple2 = ("name", "ID", 1024, 1080)
tuple3 = (1, 2, 3, 4, 5)
tuple_null = () #创建空的tuple
tuple_one_ele = (1,) #单元数tuple,注意需要加逗号,不同于list
  • 增减元素
    不可增减元素。但是可以连接组合多个tuple,并且只能删除整个tuple
>>> t1 = (1, 2, 3)
>>> t2 =('a', 'b', 'c')
>>> t3 = t1 + t2
>>> t3
(1, 2, 3, 'a', 'b', 'c')
>>> del t3
  • tuple运算操作
    tuple的基本操作和list一样,可以组合’+’,’*’等

3.dictionary

字典包含key 和 value,并且内容可变。其格式如下:

格式:d = {key1 : value1, key2 : value2 }
例子:d = {1:"a",  2:"b", 3:"c"}

字典的特点:
1.key值必须是唯一的,但是value不必,可以重复。
2.key可以是任何数据格式,如数字,字符串,tuple,但是不能为list, 要保证key不可变,但是value可以是任何类型包括list。

  • 元素访问

通过key值来获取元素value:

>>> d = {"id": 2, "name":"Tom", "age": 18}
>>> d["name"]
'Tom'

通过dict提供的get方法,如果key不存在,可以返回None,或者自己指定的value:

>>> d.get('sex')
>>> d.get('sex', -1)
-1
  • 修改元素value
    通过key获取value来修改:
>>> d["age"] = 20
>>> d
{'id': 2, 'name': 'Tom', 'age': 20} 
  • 增减元素

字典增加元素很简单,直接设置新的key值的value:

>>> d["new_key"] = 10
>>> d
{'id': 2, 'name': 'Tom', 'age': 20, 'new_key': 10} 

删除字典的key和整个字典:

del dict['Name'] # 删除键 'Name'
dict.clear()     # 删除字典
del dict         # 删除字典
  • dict和list的比较

dict的查找和插入的速度极快,不会随着key的增加而变慢。但是需要占用大量的内存,内存浪费多。相反,list查找和插入的时间随着元素的增加而增加。但是占用空间小,浪费内存很少。

4.set

set是一个无序不重复元素集,可添加,删除数据,还可以计算交集、差集、并集等。set不能添加list, dictionary这种可变的元素,其余包括tuple都可以添加。

  • 创建
class set([iterable]) 
参数说明: iterable -- 可迭代对象对象;

>>> s = set([1, 2, 3])
>>> s
{1, 2, 3}
  • 增减元素
>>> s.add(4) #注意如果是已经存在的数据,则不会继续添加
>>> s
{1, 2, 3, 4}
>>> s.remove(2)
>>> s
{1, 3, 4}
  • 交集、差集、并集操作
>>> s1 = set([1, 2, 3])
>>> s2 = set([2, 3, 4])
>>> s1 & s2  # 交集
{2, 3}
>>> s1 | s2  # 并集
{1, 2, 3, 4}
>>> s1 - s2  # 差集
{1}

参考来自:
http://blog.csdn.net/sinat_14849739/article/details/78267782
http://www.runoob.com/python3/python3-dictionary.html

猜你喜欢

转载自blog.csdn.net/xubuwei/article/details/78833080