python-基本的数据类型

python有数字、字符串、列表、元组、集合、字典六种数据类型。

数字

包含整数、浮点数、None、布尔型、复数五种。

整数

num1=10
print(num1)
#10

浮点数

num1=10.2
print(num1)
#10.2

None

num1=None
print(num1)
# None

复数

c1 = 12 + 0.2j
print(c1)
# (12+0.2j)

字符串

字符串用引号括起来,可以是单英文引号,也可以是双英文引号。

字符串可以写成单行的形式,也可以写成多行的形式。

单个引号可以创建单行的字符串

3个引号可以创建单行或多行的字符串,当3个引号创建字符串时,字符串里面可以包含引号,但是与创建字符串的引号不能一样。代码如下

str1='''花花是个"女孩子"'''
print(str1)
# 花花是个"女孩子"

str1="""花花是个'女孩子'"""
print(str1)
#花花是个'女孩子'

列表list

使用[]创建,各个数据项用英文逗号(,)分割开,各个数据项的类型可以不一样。

特点可修改、有序、可重复。

list1=["s1",2]
print(list1) 
# ["s1",2]

元组tuple

使用()创建,各个数据项用英文逗号(,)分割开,各个数据项的类型可以不一样。

特点不可修改、有序、可重复。

tuple1=(1,2,"1",1) 
print(tuple1)
#(1, 2, '1', 1)

集合set

使用{}创建非空集合,生成空集合使用set(),使用set(列表或元组)可去重,各个数据项用英文逗号(,)分割开,各个数据项的类型可以不一样。

特点可修改、无序、不可重复。

# 使用set对元组去重
tuple1=(2,1,"2",2)
print(set(tuple1) )
# {1, 2, '2'}

# 使用set对列表去重
list1=[1,2,3,4,5,1]
print(set(list1))
# {1, 2, 3, 4, 5}

# 创建空集合

set1=set()
print(set1)
# set()

# 创建空集合
set1={1,2,4,3,1}
print(set1)
# {1, 2, 3, 4}

字典dict

使用{}、dict、collections包中的defaultdict创建字典,字典中的元素都是"键(key):值(value)"对, “键”和“值”之间用冒号隔开,所有“键值对”放在一对大括号“{}”中,元素之间用逗号分隔。

特点可修改、无序、主键不可重复。

# 使用{}创建字典
d1={"name":"花花","age":3}
print(d1)
# {'name': '花花', 'age': 3}

# 使用{}创建空字典,并往里面添加元素
d2={}
d2["name"]="花花"
d2["age"]=3
print(d2)
# {'name': '花花', 'age': 3}

# 使用dict创建字典
d3=dict(name="花花",age=3)
print(d3)
# {'name': '花花', 'age': 3}

# 使用dict创建字典
d4=dict([("name","花花"),("age",3)])
print(d4)
# {'name': '花花', 'age': 3}

注意点

使用[]的形式去取字典里面的值,当key不存在时会报错。可以实用get()去取值,当key不存在,设置默认值。

使用[]的形式可以往字典里添加元素

# 使用{}创建空字典,并往里面添加元素
d2={}
d2["name"]="花花"
d2["age"]=3
print(d2)
# {'name': '花花', 'age': 3}

# 取不存在的key,使用get
print(d2.get("gender","key不存在"))
# key不存在

# 取不存在的key会报KeyError
print(d2["gender"])
# KeyError: 'gender'

collections创建字典的妙用

        使用方法:collections.defaultdict([default_factory[, …]])。

        使用{}或者dict的方式创建字典,使用[]的形式去取字典里面的值,当key不存在时会报KeyError,但如果使用collections创建字典,当key不存在的时候

        如果default_factoryNone,就报KeyError

        如果default_factory不为None,不报KeyError。

创建列表字典defaultdict(list)

from collections import defaultdict

s = [('yellow', 1), ('blue', 2), ('yellow', 3), ('blue', 4), ('red', 1)]
d = defaultdict(list)
for k, v in s:
    d[k].append(v)
a = d.items()
print(a)
 

创建计数字典defaultdict(int)

from collections import defaultdict

s = [('yellow', 1), ('blue', 2), ('yellow', 3), ('blue', 4), ('red', 1)]
d = defaultdict(int)
for k, v in s:
    d[k]+=v
a = d
print(a)
# defaultdict(<class 'int'>, {'yellow': 4, 'blue': 6, 'red': 1})

创建集合字典defaultdict(set)

value的值不是重复的


s = [('yellow', 1), ('blue', 2), ('yellow', 3), ('blue', 4), ('red', 1),('yellow', 1), ]
d = defaultdict(set)
for k, v in s:
    d[k].add(v)
a = d
print(a)
# defaultdict(<class 'set'>, {'yellow': {1, 3}, 'blue': {2, 4}, 'red': {1}})

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>