列表:list[] 有序的,元素可以被修改
li = [1, 2, 5, 'a', ['张三', '李四', '王五'], True, 'abc']
# 索引取值
li[0]
li[4][0]
# 切片
li[1:-1]
# while/for循环
for item in li:
print(item)
# 修改
li[0] = [1, 2, 3]
li[1:3] = [120, 90]
# 删除
del li[1]
del li[2:6]
# in 操作
v = 120 in li
print(v)
# 转换(只有可迭代对象才可以转换为列表)
s = 'abcdefg'
list(s)
# 列表转字符串
# 如果列表中的元素都是字符串可以使用join
v = "".join(li)
# 如果列表中的元素即有数字又有字符串,则需要自己编写代码来转换
s = ""
for i in li:
s = s + str(i)
print(s)
# 向列表结尾追加 返回none,原列表更新
li.append(5)
# 清空列表中的内容
li.clear()
# 复制列表中的内容(浅拷贝)
v = li.copy()
# 计算元素出现的次数
li.count(22)
# 参数为可迭代对象,将可迭代对象拆分后再追加到列表尾部
li.extend(['9898', "不得了"])
# 从前往后找,找到第一个的索引位置
v = li.index[22]
# 从某个索引位置进行插入元素
li.insert(1, '555')
# 删除元素,可指定索引,返回值为删除元素的值,默认从列表尾部删除
li.pop(1)
# 删除列表中指定的值
li.remove('555')
# 反转列表
li.reverse()
# 对列表排序 默认从小到大排序
li.sort()
li.sort(reverse=True) # 从大到小排序
# 元组 tuple ( ) 有序的,元素(一级元素)不可被修改,不能增加或删除
# 一般在写元组的时候,推荐在最后加入,
tu = (111, 'alex', (11, 22), [33, 44], True, 'abc',)
# 取值 tu[0] # 切片 tu[0:3] # 循环 for i in tu: print(i) # 转换 s = 'asdfasdfasdfsadf' li = [123, 'asdf'] tu = (123, 123, 'aaa',) v = tuple(s) v = tuple(li) v = list(tu) # 如果中元组的元素都是字符串可以使用join v = "".join(tu) # 如果元组中的元素即有数字又有字符串,则需要自己编写代码来转换 s = "" for i in tu: s = s + str(i) print(s) # 获取指定元素在元组中出现的次数 tu.count('123') # 获取某个值在元组中的索引值 tu.index('abc')
# 字典 dict { } 无序的 可删除
# 字典的key不可以是列表和字典
# 字典的value可以是任何值
info = {"k1": "v1", "k2": "v2"}
# 获取,如果不存在相应的key则报错
info["k1"]
# 获取,如果不存在相应的key则默认返回None,若自己指定的值
info.get('k1', 123)
# 删除
del info["k1"]
# in 操作
v = 'k1' in info
v = 'v1' in info.values()
# for循环 ,只能获取key
for i in info: print(i)
# for循环,获取key和value
for k, v in info: print(k, v)
# 清空字典
info.clear()
# 复制字典中的内容(浅拷贝)
v = info.copy()
# 根据key值序列,指定统一的value来创建字典
v = dict.fromkeys(['k1', 'k2', 'k3'], 999)
# 以列表返回可遍历的(键, 值) 元组数组
info.items()
# 以列表返回一个字典所有的key
info.keys()
# 以列表返回字典中的所有值
info.values()
# 删除字典中指定的key的元素,返回指定key对应的value
# 如果没有对应的key值则报错,可以在后面指定一个值,无对应的key则返回该值
info.pop('k1', 99)
# 随机删除一个字典里的元素,返回一个key,value的元组
info.popitem()
# 设置值,如果key已经存在则返回key对应的value
# 如果不存在刚加入字典中,并返回新设置的value
info.setdefault('k3', 100)
# 更新,已经存在的进行覆盖,不存在的进行添加
info.update({'k1': '1111', 'k3': 123})
# 另一种写法
info.update(k1='1111', k3=123)