元组
如果元组中只有一个数据,且没有逗号,则该“元组”与里面的数据的数据类型是相同的
# tu = ("alex") #class str tu = (1) #class int # tu = (True) #class bool print(type(tu))
列表
列表与列表之间可以相加
l1 = [1,2,3] l2 = ['alex','wusir'] l3 = l1 + l2 print(l3) #[1, 2, 3, 'alex', 'wusir']
注意:在循环一个列表,字典时,最好不要对此列表进行改变大小(增删)的操作
陷阱题1
#将l1 列表中索引为奇数的数据删除 l1 = [11, 22, 33, 44, 55, 66, 77, 88] #方法一 切片加步长 # del l1[::2] # # print(l1) #方法二 倒着删 # for i in range(len(l1),-1,-1): # if i %2 == 1: # del l1[i] # print(l1) #方法三 直接将偶数移出到新的列表 # l2 = list() # for i in range(len(l1)-1): # if i % 2 == 0: # l2.append(l1[i]) # print(l2)
快捷创建一个字典 fromkeys
dic = dict.fromkeys([1,2,3],{"alex"}) print(dic) #{1: {'alex'}, 2: {'alex'}, 3: {'alex'}}
面试题:创建字典的方法
1) dic = {}
2) dic = dict()
3) dic = dict.fromkey(键,值) #如果没有值,默认为None
陷阱题二
dic1 = dict.fromkeys([1,2,3],[]) print(dic1) dic1[1].append('alex') print(dic1) #{1: ['alex'], 2: ['alex'], 3: ['alex']} print(id(dic1[1])) print(id(dic1[2])) print(id(dic1[3]))
数据类型的转换
int str bool 三者转换
str <---> bytes
str <---> list
dict.keys() dict.values() dict.items() list()
tuple <---> list
dict ---> list
字符串转换成列表 split
# str ---> list
# s1 = 'alex wusir taibai'
# l1 = s1.split()
# print(l1)
# list ---> str 此list中的元素全部是str类型
将列表转换成字符串 jion
# l1 = ['alex', 'wusir', 'taibai']
# # s2 = ''.join(l1)
# # print(s2) #s2是字符串
#格式化输出,字典的形式
dic = {"西游记":"孙悟空","三国志":"关羽"}
print("%(西游记)s打白骨精,%(三国志)s温酒"%dic) #孙悟空打白骨精,关羽温酒