列表 元组 字典

列表: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)

 

原文地址:https://www.cnblogs.com/dangrui0725/p/9399064.html