六种数据类型

AffettoIris 2023-2-19 2,271 2/19

tuple()、list()、set()的参数唯一且须可以迭代iterable,包括字符串 元组 列表 集合 字典。但字典仅取键,等价于参数取dictionary.keys(),您也可以参数取dictionary.values().

# 创造tuple
t = (1, 2)
t = tuple('12') # 可,不过元组元素是String型
t = tuple(12) # 不可,'int' object is not iterable,int不可迭代
t = tuple([1, 2]) # 可
t = tuple((1, 2)) # 可
t = tuple({1, 2}) # 可
# 向tuple追加元素
t = (1, 2)
t += (3,) # tuple可以通过+=其他tuple补充内容(仅限+=tuple),因为本质还是变量t的赋值。
t[2] = 3 # 不可以,你在修改不可变元素tuple,且assignment index out of range
# 创造list
l = [1, 2]
省略了,list()参数唯一且须可以迭代iterable,包括字符串 元组 列表 集合 字典。
# 向list追加内容
l = [1, 2]
l[2] = 3 # 不可,assignment index out of range
l += 3 # 不可,TypeError: 'int' object is not iterable不可迭代
l += [3] # list可以通过+=可迭代类型补充内容(包括字符串 元组 列表 集合 字典,其中字典只取键,字符串每次取单个字符)
# 创造set
s = (1, 2)
省略了,set()参数唯一且须可以迭代iterable,包括字符串 元组 列表 集合 字典
# 向set追加内容,集合不支持下标索引,不支持+=
s.add('参数仅一个,值可以是Number或String或tuple,其他不行')
# 由于s.add()限制多,可以改用s.update(参数是可迭代元素。不限参数个数,类型包括字符串 元组 列表 集合 字典)
s.update((10, 11), [12], {13}, {14:15}, {14:15}.values())
1.集合定义:python集合是一个无序且元素不重复的序列。无序的类型都不能被索引,所以不存在s[0]、s[1:5]
2.遍历集合的一个方法是for x in s:
3.因为集合有去重,而去重手段是计算hash值,而python只有不可变类型能计算hash值,所以只有int / tuple / string能做集合元素。所以不存在{[1]} {{1}} {1:2}
# 定义字典
# 由于字典的特殊结构,所以dict()不能放简单的字符串 元组 列表 集合 字典,例如dict((1, 2))。
d = dict(a='a', b = 'b') # 明确知晓键值对则可以这样,不然看下面其他方法
# 下面的dict()要求一个参数,外层可以是() [] {},内层可以是() [] {} 且内层内容都是成双的。
d = dict( ([1, 2]) )
d = dict( [[1, 2]] )
d = dict( {(1, 2)} )
d = dict(((1, 2), [3, 4], {5, 6}))
#向字典追加内容
# 字典是唯一一个可以通过索引追加内容的类型。字典不能+=。
d = {1 : 2}
d[3] = 4
# 删除
d = {1:2, 3:4, 'an':'apple'}
del d['an'] # {1: 2, 3: 4}
d.clear # print(d):{}
del d # print(d):'d' is not defined
d = {1:2, 3:4}
print(d.keys()) # 可以做tuple() list() set() 参数,或者for x in d.keys():来遍历
print(d.values())
print(type(d.keys())) # <class 'dict_keys'>
print(type(d.values())) # <class 'dict_values'>

对于可变类型即list、set、dict,可以x.clear()清空内容但保留变量x

# str(x)可以对六种数据类型做字符串直译转换。
print(str(123)) # 123
print(str('qwe')) # qwe
print(str((1, 2))) # (1, 2)
print(str([1, 2])) # [1, 2]
print(str({1, 2})) # {1, 2}
print(str({1:2})) # {1: 2}
- THE END -

AffettoIris

10月16日15:58

最后修改:2023年10月16日
0

非特殊说明,本博所有文章均为博主原创。

共有 0 条评论