day 9 集合
字典
dict1 = {'a': 10, 'b': 20, 'c': 30}
print(10 in dict1)
print('a' in dict1)
print(len(dict1))
data1 = [[10, 20], [20, 30], ['a', 'b']]
print(dict(data1))
print(dict(['ab', 'cd', '12']))
print(dict(['ab', [10, 20], range(2)]))
print(dict([('name', '小明'), ('age', 18), ('gender', '男')]))
dict1 = {'a': 10, 'b': 20, 'c': 30}
print(list(dict1))
print(dict1.keys())
print(dict1.values())
print(dict1.items())
dict1 = {'a': 10, 'b': 20, 'c': 30}
dict1.update({100: 200, 200: 300, 'a': 100})
print(dict1)
元组
"""
1)元组是容器型数据类型;将()作为容器的标志,里面多个元素用逗号隔开:(数据1, 数据2, 数据3,....)
2)元组是不可变的(不支持增删改); 元组是有序的(顺序影响结果;支持下标操作)
3)任何类型的数据都可以作为元组中的元素
"""
t1 = ()
print(t1, type(t1))
t2 = (100,)
print(t2, type(t2), len(t2))
t3 = (10, 20, 'abc', 30)
print(t3)
t4 = 100, 200, 300, 400
print(t4)
print('---------------------------------------华丽的分割线------------------------------------')
t5 = ('狂飙', '黑暗荣耀', '回家的诱惑', '三国演义', '琅琊榜', '甄嬛传')
print(t5[0], t5[-1])
print(t5[1:-1])
print(t5[0::2])
print('---------------------------------------华丽的分割线------------------------------------')
for x in t5:
print(x)
print('---------------------------------------华丽的分割线------------------------------------')
for index in range(len(t5)):
print(index, t5[index])
print('---------------------------------------华丽的分割线------------------------------------')
for index, item in enumerate(t5):
print(index, item)
t1 = (10, 20, 30)
t2 = (100, 200)
print(t1 + t2)
print(t1 * 2)
print(t1 > t2)
print(10 in t1)
print('---------------------------------------华丽的分割线------------------------------------')
list1 = [100, 200, 300]
x, y, z = list1
print(x, y, z)
t1 = (10, 20)
m, n = t1
print(m, n)
for index, item in enumerate(list1):
print(index, item)
list2 = [('小花', 18, '女'), ('小明', 20, '男'), ('张三', 30, '男')]
for name, age, gender in list2:
print(name, age, gender)
集合
"""
1)集合是容器型数据类型;将{}作为容器的标志里面多个数据用逗号隔开:{数据1, 数据2, 数据3, ...}
2)集合是可变的(支持增删改);集合是无序的(顺序不影响结果;不支持下标操作)
3)集合对元素的要求和字典对键的要求一样:不可变类型的数据、是唯一的(集合自带去重功能)
"""
s1 = set()
print(s1, type(s1), len(s1))
print({10, 20, 30} == {20, 10, 30})
s1 = {'abc', 10, 12.3, (10, 20)}
s2 = {10, 20, 30, 10, 10, 20}
print(s2)
names = ['张三', '李四', '张三', '小明', '张三', '小明']
print(set(names))
s1 = {1, 2, 3, 4, 5, 6, 7}
s2 = {5, 6, 7, 8, 9, 10}
print(s1 & s2)
print(s1 | s2)
print(s1 - s2)
print(s2 - s1)
print(s1 ^ s2)
"""
a.子集:
集合1 >= 集合2 - 判断集合2是否是集合1的子集
集合1 <= 集合2 - 判断集合1是否是集合2的子集
b.真子集
集合1 > 集合2 - 判断集合2是否是集合1的子集
集合1 < 集合2 - 判断集合1是否是集合2的子集
"""
print({1} < {1, 2, 3})
print({100, 200, 300, 400} > {1, 2})
字符串
"""
1)字符串是容器型数据类型(能同时保存多个文字符号);
将单引号、双引号或者三个单引号、三个双引号作为容器的标志,里面的每一个符号都是字符串中的元素
2)字符串不可变; 字符串有序
3)字符串的元素:
字符串引号中每一个独立的符号都是字符串的元素,字符串的元素又叫字符;
任何文字符号都可以是字符串的元素(包括英文符号、中文符号、阿拉伯数字、韩语、日语、...、表情符号等)
"""
str1 = '小明'
str2 = "小明"
str3 = '''小明'''
str4 = """小明"""
msg = '床前明月光,\n疑是地上霜。'
print(msg)
print('---------------------------------------华丽的分割线------------------------------------')
msg = '''床前
明月光,
疑是地
上霜。'''
print(msg)
str5 = 'mK,.?换手》?123😊'
print(str5)
str6 = ''
print(type(str6), len(str6))
"""
字符串中的字符分为两种:普通字符、转义字符
1)普通字符 - 在字符串中表示符号本身的字符就是普通字符
2)转义字符 - 在字符串中有特殊意义或者特殊功能的符号就是转义字符(在特定的符号前加 \ 来表示特殊意义或者特殊功能)
\n - 换行(相当于按回车)
\t - 水平制表符(相当于按一次tab键)
\' - 表示一个普通的单引号
\" - 表示一个普通的双引号
\\ - 表示一个普通的反斜杠
"""
str1 = 'abc12你好'
print(str1)
str2 = '\m\h'
print(str2)
str2 = '\tabc\n123'
print(str2)
str4 = "it's ok!"
print(str4)
str4 = 'it\'s ok!'
print(str4)
str5 = "i say:\"good good study!\""
print(str5)
str6 = 'abc\\n123'
print(str6)
print('---------------------------------------华丽的分割线------------------------------------')
path = 'C:\\names\\proms\\python\\test\\a.txt'
print(path)
str1 = r'\tabc\n123'
print(str1)
path = R'C:\names\proms\python\test\a.txt'
print(path)