字典的 in 和 not in 判断的是键是否存在
dict1 = {'a': 10, 'b': 20, 'c': 30}
print(10 in dict1) # False
print('a' in dict1) # True
print(len(dict1))
对数据的要求:
data1 = [[10, 20], [20, 30], ['a', 'b']]
print(dict(data1)) # {10: 20, 20: 30, 'a': 'b'}
print(dict(['ab', 'cd', '12'])) # {'a': 'b', 'c': 'd', '1': '2'}
print(dict(['ab', [10, 20], range(2)])) # {'a': 'b', 10: 20, 0: 1}
print(dict([('name', '小明'), ('age', 18), ('gender', '男')])) # {'name': '小明', 'age': 18, 'gender': '男'}
dict1 = {'a': 10, 'b': 20, 'c': 30}
print(list(dict1)) # ['a', 'b', 'c']
print(dict1.keys()) # dict_keys(['a', 'b', 'c'])
print(dict1.values()) # dict_values([10, 20, 30])
print(dict1.items()) # dict_items([('a', 10), ('b', 20), ('c', 30)])
dict1 = {'a': 10, 'b': 20, 'c': 30}
dict1.update({100: 200, 200: 300, 'a': 100})
print(dict1) # {'a': 100, 'b': 20, 'c': 30, 100: 200, 200: 300}
t1 = ()
print(t1, type(t1)) # ()
# print([10], {'a': 10})
t2 = (100,)
print(t2, type(t2), len(t2)) # (100,) 1
t3 = (10, 20, 'abc', 30)
print(t3) # (10, 20, 'abc', 30)
t4 = 100, 200, 300, 400
print(t4) # (100, 200, 300, 400)
使用元组的实际情况:一般不会主动使用元组保存多个数据;但是遇到元组的时候必须会使用元组。
t5 = ('狂飙', '黑暗荣耀', '回家的诱惑', '三国演义', '琅琊榜', '甄嬛传')
print(t5[0], t5[-1]) # 狂飙 甄嬛传
print(t5[1:-1]) # ('黑暗荣耀', '回家的诱惑', '三国演义', '琅琊榜')
print(t5[0::2]) # ('狂飙', '回家的诱惑', '琅琊榜')
t1 = (10, 20, 30)
t2 = (100, 200)
print(t1 + t2) # (10, 20, 30, 100, 200)
print(t1 * 2) # (10, 20, 30, 10, 20, 30)
print(t1 > t2) # False
print(10 in t1) # True
list1 = [100, 200, 300]
x, y, z = list1
print(x, y, z)
t1 = (10, 20)
m, n = t1
print(m, n)
# [(0, 100), (1, 200), (2, 300)]
# x = (0, 100)
# x = (1, 200)
# index, item = (0, 100)
for index, item in enumerate(list1):
print(index, item)
list2 = [('小花', 18, '女'), ('小明', 20, '男'), ('张三', 30, '男')]
for name, age, gender in list2:
print(name, age, gender)
s1 = set()
print(s1, type(s1), len(s1)) # set() 0
print({10, 20, 30} == {20, 10, 30}) # True
s1 = {'abc', 10, 12.3, (10, 20)}
# s2 = {'abc', 10, 12.3, [10, 20]} # 报错!
s2 = {10, 20, 30, 10, 10, 20}
print(s2) # {10, 20, 30}
names = ['张三', '李四', '张三', '小明', '张三', '小明']
print(set(names)) # {'李四', '张三', '小明'}
s1 = {1, 2, 3, 4, 5, 6, 7}
s2 = {5, 6, 7, 8, 9, 10}
# 集合1 & 集合2
print(s1 & s2) # {5, 6, 7}
# 集合1 | 集合2
print(s1 | s2) # {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
# 集合1 - 集合2
print(s1 - s2) # {1, 2, 3, 4}
print(s2 - s1) # {8, 9, 10}
# 集合1 ^ 集合2
print(s1 ^ s2) # {1, 2, 3, 4, 8, 9, 10}
"""
a.子集:
集合1 >= 集合2 - 判断集合2是否是集合1的子集
集合1 <= 集合2 - 判断集合1是否是集合2的子集
b.真子集
集合1 > 集合2 - 判断集合2是否是集合1的子集
集合1 < 集合2 - 判断集合1是否是集合2的子集
"""
# {1, 2, 3}的子集:{}、{1}、{2}、{3}、{1, 2}、{1, 3}、{2, 3}、{1, 2, 3}
# {1, 2, 3}的真子集:{}、{1}、{2}、{3}、{1, 2}、{1, 3}、{2, 3}
# a.子集: 集合1 >= 集合2 - 判断集合2是否是集合1的子集
print({1} < {1, 2, 3}) # True
# 注意:这儿的比较运算符不是比较大小
print({100, 200, 300, 400} > {1, 2}) # False
1)字符串是容器型数据类型(能同时保存多个文字符号);
将单引号、双引号或者三个单引号、三个双引号作为容器的标志,里面的每一个符号都是字符串中的元素
2)字符串不可变; 字符串有序
3)字符串的元素:
字符串引号中每一个独立的符号都是字符串的元素,字符串的元素又叫字符;
任何文字符号都可以是字符串的元素(包括英文符号、中文符号、阿拉伯数字、韩语、日语、…、表情符号等)
str1 = '小明'
str2 = "小明"
str3 = '''小明'''
str4 = """小明"""
msg = '床前明月光,\n疑是地上霜。'
print(msg) # 床前明月光,
# 疑是地上霜。
# 空串 - 引号中没有任何符号的字符串(引号中有空格的时候不是空串)
str6 = ''
print(type(str6), len(str6)) # 0
"""
字符串中的字符分为两种:普通字符、转义字符
1)普通字符 - 在字符串中表示符号本身的字符就是普通字符
2)转义字符 - 在字符串中有特殊意义或者特殊功能的符号就是转义字符(在特定的符号前加 \ 来表示特殊意义或者特殊功能)
\n - 换行(相当于按回车)
\t - 水平制表符(相当于按一次tab键)
\' - 表示一个普通的单引号
\" - 表示一个普通的双引号
\\ - 表示一个普通的反斜杠
"""
str1 = 'abc12你好'
print(str1) # abc12你好
在字符串的引号前面加 r 或者 R,可以让字符串中所有的转义字符功能消失(让所有字符都变成普通字符)
str1 = r'\tabc\n123'
print(str1) # \tabc\n123
path = R'C:\names\proms\python\test\a.txt'
print(path)