翼度科技»论坛 编程开发 python 查看内容

python原生数据类型(上)

6

主题

6

帖子

18

积分

新手上路

Rank: 1

积分
18
  1. # 查看数据
  2. print('hello world')
  3. # 查看数据类型
  4. type('hello world')
复制代码
hello world
str
1 数据类型定义

1.1 不可变数据类型
  1. # 数值
  2. # int,float
  3. x = 1
  4. y = 1.0
  5. # 字符
  6. text = 'hello world'
  7. # 元组
  8. tuple0 = (1,2,3)
  9. print(x,type(x))
  10. print(y,type(y))
  11. print(text,type(text))
  12. print(tuple0,type(tuple0))
复制代码
1
1.0
hello world
(1, 2, 3)
1.2 可变数据类型
  1. # 列表
  2. list0 = [1,2,3]
  3. # 集合
  4. set0 = {1,2,3}
  5. # 字典
  6. dict0 = {'a':1,'b':2,'c':3}
  7. print(list0,type(list0))
  8. print(set0,type(set0))
  9. print(dict0,type(dict0))
复制代码
[1, 2, 3]
{1, 2, 3}
{'a': 1, 'b': 2, 'c': 3}
1.3 易混定义
  1. # 一个数值元素的元组
  2. print('错误示范:',(1),type((1)))
  3. print('正确定义:',(1,),type((1,)))
  4. # 没有元素的集合
  5. print('错误示范:',{},type({}))
  6. print('正确定义:',set(),type(set()))
复制代码
错误示范: 1
正确定义: (1,)
错误示范: {}
正确定义: set()
2 数据套娃实验
  1. # 元组
  2. tuple0 = ((1,2,3),(1,2,3),(1,2,3))
  3. print(tuple0,type(tuple0))
  4. tuple0 = ([1,2,3],[1,2,3],[1,2,3])
  5. print(tuple0,type(tuple0))
  6. tuple0 = ({1,2,3},{1,2,3},{1,2,3})
  7. print(tuple0,type(tuple0))
  8. tuple0 = ({'a':1,'b':2,'c':3},{'a':1,'b':2,'c':3},{'a':1,'b':2,'c':3})
  9. print(tuple0,type(tuple0))
  10. # 列表
  11. list0 = [(1,2,3),(1,2,3),(1,2,3)]
  12. print(list0,type(list0))
  13. list0 = [[1,2,3],[1,2,3],[1,2,3]]
  14. print(list0,type(list0))
  15. list0 = [{1,2,3},{1,2,3},{1,2,3}]
  16. print(list0,type(list0))
  17. list0 = [{'a':1,'b':2,'c':3},{'a':1,'b':2,'c':3},{'a':1,'b':2,'c':3}]
  18. print(list0,type(list0))
  19. # 集合
  20. set0 = {(1,2,3),(1,2,3),(1,2,3)}
  21. print(set0,type(set0))
  22. try:
  23.     set0 = {[1,2,3],[1,2,3],[1,2,3]}
  24.     print(set0,type(set0))
  25. except:
  26.     print('集合套列表套娃失败')
  27. try:
  28.     set0 = {{1,2,3},{1,2,3},{1,2,3}}
  29.     print(set0,type(set0))
  30. except:
  31.     print('集合套集合套娃失败')
  32. try:
  33.     set0 = {{'a':1,'b':2,'c':3},{'a':1,'b':2,'c':3},{'a':1,'b':2,'c':3}}
  34.     print(set0,type(set0))
  35. except:
  36.     print('集合套字典套娃失败')
  37. # 字典的键
  38. dict0 = {(1,2,3):(1,2,3),(1,2,3):(2,3,4),(1,2,3):(3,4,5)}
  39. print(dict0,type(dict0))
  40. dict0 = {(1,2,3):(3,4,5),(1,2,3):(2,3,4),(1,2,3):(1,2,3)}
  41. print(dict0,type(dict0))
  42. try:
  43.     dict0 = {[1,2,3]:(1,2,3),[1,2,3]:(1,2,3),[1,2,3]:(1,2,3)}
  44.     print(dict0,type(dict0))
  45. except:
  46.     print('字典的键套列表套娃失败')
  47. try:
  48.     dict0 = {{1,2,3}:(1,2,3),{1,2,3}:(1,2,3),{1,2,3}:(1,2,3)}
  49.     print(dict0,type(dict0))
  50. except:
  51.     print('字典的键套集合套娃失败')
  52. try:
  53.     dict0 = {
  54.         {'a': 1, 'b': 2, 'c': 3}:(1,2,3),
  55.         {'a': 1, 'b': 2, 'c': 3}:(1,2,3),
  56.         {'a': 1, 'b': 2, 'c': 3}:(1,2,3)}
  57.     print(dict0,type(dict0))
  58. except:
  59.     print('字典的键套字典套娃失败')
  60. # 字典的值
  61. dict0 = {'a':(1,2,3),'b':(1,2,3),'c':(1,2,3)}
  62. print(dict0,type(dict0))
  63. dict0 = {'a':[1,2,3],'b':[1,2,3],'c':[1,2,3]}
  64. print(dict0,type(dict0))
  65. dict0 = {'a':{1,2,3},'b':{1,2,3},'c':{1,2,3}}
  66. print(dict0,type(dict0))
  67. dict0 = {'a':{'a':1,'b':2,'c':3},'b':{'a':1,'b':2,'c':3},'c':{'a':1,'b':2,'c':3}}
  68. print(dict0,type(dict0))
  69. print('*'*30)
  70. print('根据套娃得出以下结论:')
  71. print('1.集合的值和字典的键定义时可以重复,输出时不会重复。')
  72. print('2.当字典的键定义重复时,输出时字典的键对应的定义的值的最后一个。')
  73. print('3.可变数据类型(列表、集合、字典)及其组合不能作为集合的值和字典的键。')
  74. print('4.集合的值和列表的键可以作为检验数据类型是否可变的标准。')
复制代码
((1, 2, 3), (1, 2, 3), (1, 2, 3))
([1, 2, 3], [1, 2, 3], [1, 2, 3])
({1, 2, 3}, {1, 2, 3}, {1, 2, 3})
({'a': 1, 'b': 2, 'c': 3}, {'a': 1, 'b': 2, 'c': 3}, {'a': 1, 'b': 2, 'c': 3})
[(1, 2, 3), (1, 2, 3), (1, 2, 3)]
[[1, 2, 3], [1, 2, 3], [1, 2, 3]]
[{1, 2, 3}, {1, 2, 3}, {1, 2, 3}]
[{'a': 1, 'b': 2, 'c': 3}, {'a': 1, 'b': 2, 'c': 3}, {'a': 1, 'b': 2, 'c': 3}]
{(1, 2, 3)}
集合套列表套娃失败
集合套集合套娃失败
集合套字典套娃失败
{(1, 2, 3): (3, 4, 5)}
{(1, 2, 3): (1, 2, 3)}
字典的键套列表套娃失败
字典的键套集合套娃失败
字典的键套字典套娃失败
{'a': (1, 2, 3), 'b': (1, 2, 3), 'c': (1, 2, 3)}
{'a': [1, 2, 3], 'b': [1, 2, 3], 'c': [1, 2, 3]}
{'a': {1, 2, 3}, 'b': {1, 2, 3}, 'c': {1, 2, 3}}
{'a': {'a': 1, 'b': 2, 'c': 3}, 'b': {'a': 1, 'b': 2, 'c': 3}, 'c': {'a': 1, 'b': 2, 'c': 3}}
根据套娃得出以下结论:
1.集合的值和字典的键定义时可以重复,输出时不会重复。
2.当字典的键定义重复时,输出时字典的键对应的定义的值的最后一个。
3.可变数据类型(列表、集合、字典)及其组合不能作为集合的值和字典的键。
4.集合的值和列表的键可以作为检验数据类型是否可变的标准。
3 数据切片实验
  1. try:
  2.     int0 = 123
  3.     print(123[0])
  4. except:
  5.     print('整数类型数据不支持切片')
  6. try:
  7.     float0 = 123.12
  8.     print(float0[0])
  9. except:
  10.     print('浮点数类型数据不支持切片')
  11. str0 = '123'
  12. print(str0[ 0],str0[ 1],str0[ 2])
  13. print(str0[-3],str0[-2],str0[-1])
  14. print(str0[:],str0[0:1],str0[0:])
  15. print(str0[-3:-1],str0[0:-1])
  16. tuple0 = (1,2,3)
  17. print(tuple0[0])
  18. list0 = [1,2,3]
  19. print(list0[0])
  20. set0 = {1,2,3}
  21. try:
  22.     print(set0[0])
  23. except:
  24.     print('集合类型数据不支持切片')
  25. dict0 = {'a':{1,2,3},'b':{1,2,3},'c':{1,2,3}}
  26. print(dict0['a'])
  27. try:
  28.     {'a':{1,2,3},'b':{1,2,3},'c':{1,2,3}}[0]
  29. except:
  30.     print('字典类型数据不支持非字典的key切片')
  31. try:
  32.     print(dict0[['a','b']])
  33. except:
  34.     print('字典类型数据不支持多值切片')
  35. print('*'*30)
  36. print('根据切片得出以下结论:')
  37. print('1.数值(整数、浮点数)和集合不支持切片操作。')
  38. print('2.字典切片时,切片列表的值只能是字典键当中的某个元素。')
  39. print('3.设n为字符串、元组或列表的长度,切片下标是0,1,2,…,n-1或-n…,-2,-1')
  40. print('4.多个元素切片时,包左不包右,并且[a:b]的形式下,a对应的下标不在b对应的下标的左边,切片值为0')
复制代码
整数类型数据不支持切片
浮点数类型数据不支持切片
1 2 3
1 2 3
123 1 123
12 12
1
1
集合类型数据不支持切片
{1, 2, 3}
字典类型数据不支持非字典的key切片
字典类型数据不支持多值切片
根据切片得出以下结论:
1.数值(整数、浮点数)和集合不支持切片操作。
2.字典切片时,切片列表的值只能是字典键当中的某个元素。
3.设n为字符串、元组或列表的长度,切片下标是0,1,2,…,n-1或-n…,-2,-1
4.多个元素切片时,包左不包右,并且[a:b]的形式下,a对应的下标不在b对应的下标的左边,切片值为0

来源:https://www.cnblogs.com/mlcode/p/pythondatatype.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

举报 回复 使用道具