【Python】数据处理-tuple/list/dict/str/set
一、元组(tuple)
tuple_a = (1, 2, 3, 4, 5) # 1、index(元素):从tuple中找出某个值第一个匹配项的索引位置 res1 = tuple_a.index(1) # 2、count(元素):返回元素出现的次数 res2 = tuple_a.count(1)
二、列表(list)
list_a = [1, 2] # 1、append(元素):向list添加数据 list_a.append(3) # 向list添加int类型数据 list_a.append('a') # 向list添加str类型数据 list_a.append((1, 2)) # 向list添加tuple类型数据 list_a.append([1, 2]) # 向list添加list类型数据 list_a.append({'c': 3}) # 向list添加dict类型数据 # 2、index(元素):从list中找出某个值第一个匹配项的索引位置 res1 = list_a.index(3) # 3、pop(索引):通过元素索引删除list中的元素 list_a.pop(1) # 4、remove(元素):如果list中存在该元素,则删除,如不存在,则异常:ValueError: list.remove(x): x not in list list_a.remove(1) # 5、copy():复制list list_2 = list_a.copy() # 6、extend(list):在list末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表) list_1 = [4, 3] list_1.extend([1, 2, 3, 4]) # 7、insert(索引, 元素):将元素插入list中的指定索引位置 list_1.insert(2, 33) # 8、count(元素):返回元素出现的次数 count = list_1.count(1) # 9、sort():list排序 list_3 = [2, 54, 17, 31, 2, 33, 5, 6, 74, 22, 3, 4] list_3.sort() # 10、reverse():对list元素进行反向排序 list_4 = [1, 2, 3, 4, 5, 6] list_4.reverse() # 11、根据索引取值 res3 = list_4[0] # 12、enumerate(list):以对象返回可遍历的(索引, 值) 元组数组 kv = enumerate(list_1) # 13、clear():清空list(删除所有元素) list_1.clear()
三、字典(dict)
dict1 = {'user': 'runoob', 'num': [1, 2, 3]} # 1、copy() # 浅拷贝:深拷贝父对象(一级目录),子对象(二级目录)不拷贝,还是引用 dict2 = dict1 dict3 = dict1.copy() # 2、deepcopy():深拷贝 dict2 = copy.deepcopy(dict1) # 3、修改data数据 dict1['user'] = 'root' # 修改一级目录 dict1['num'].remove(1) # 修改二级目录 # 4、pop(key):删除字典给定键 key 所对应的值 dict1.pop('user') # 5、update(dict2):把字典dict2的键/值对更新到dict里 dict2 = {'password': '123456'} dict1.update(dict2) # 6、get(dict2):返回指定键的值,如果键不在字典中返回default值 res = dict1.get('user') res = dict1['password'] # 7、keys():以列表返回一个字典所有的键 keys = dict1.keys() # 8、values():以列表返回字典中的所有值 values = dict1.values() # 9、items():以列表返回可遍历的(键, 值) 元组数组 res = dict1.items() # 10、popitem():返回并删除字典中的最后一对键和值 res = dict1.popitem() # 11、clear():删除字典内所有元素 dict1.clear() # 12、fromkeys(元组):创建一个新字典,以序列 seq 中元素做字典的键,value 为字典所有键对应的初始值 # fromkeys 方法只用来创建新字典,不负责保存。当通过一个字典来调用 fromkeys 方法时,如果需要后续使用一定记得给他复制给其他的变量。 seq = ('key1', 'key2', 'key3') # 不指定默认的键值,默认为 None new_dict = dict.fromkeys(seq) # 指定默认的键值 new_dict = dict.fromkeys(seq, 10)
四、字符串(str)
str1 = ' ab c d f ' # 1、去除字符串空格 # (1)去除字符串首尾空格 new_str = str1.strip() # (2)去除字符串开头空格 new_str = str1.lstrip() # (3)去除字符串结尾空格 new_str = str1.rstrip() # (4)去除字符串全部空格1 new_str = str1.replace(" ", "") # (5)去除字符串全部空格2 new_str = "".join(str1.split()) # 2、字符串中某个字符出现的次数_方法1 str1 = 'abcbabsnuskabsndjxabndxc' count_str1 = str1.count('a') # 字符串中某个字符出现的次数_方法2 count_str2 = len(str1) - len(str1.replace('a', '')) # 3、split(字符/字符串):以某个字符/字符串分割,返回list str2 = '1,2,3,4,5,6' li = str2.split(',')
五、集合(set)
list_1 = [1, 3, 4, 2, 3, 4, 7, 8, 9, 0] # 1、去重 set_1 = set(list_1) # 集合是无序的 print(set_1, type(set_1)) set_2 = set([2, 6, 4, 11, 22]) print(set_1, set_2) # 2、交集 print(set_1.intersection(set_2)) print(set_1 & set_2) # 3、并集 print(set_1.union(set_2)) print(set_1 | set_2) # 4、差集 in list_1 but not in list_2 print(set_1.difference(set_2)) print(set_1 - set_2) print(set_2.difference(set_1)) print(set_2 - set_1) # 5、对称差集 print(set_1.symmetric_difference(set_2)) print(set_2 ^ set_1) # 6、子集 set_3 = set([1, 3, 7]) print(set_3.issubset(set_1)) # 是否被包含,返回True或者False print(set_3 <= set_1) print(set_1.issuperset(set_3)) # 是否包含,返回True或者False print(set_1 >= set_3) # 7、判断是否有交集,返回True或者False set_4 = set([5, 6, 8]) print(set_4.isdisjoint(set_1)) # 8、添加单个 set_4.add(99) print(set_4) # 9、添加多个 set_4.update([1, 2]) print(set_4) # 10、删除,不存在会报错 set_4.remove(99) print(set_4) # 11、删除,不存在不会报错 set_4.discard(99) print(set_4) # 12、随机删除,并返回删除的元素 print(set_4.pop()) print(set_4)
六、扩展
# 求1-100的和 sum1 = sum([i for i in range(1, 101)]) sum2 = sum(list(range(1, 101)))