美文网首页
Python列表与字典

Python列表与字典

作者: 子鱼_谋 | 来源:发表于2020-09-25 18:13 被阅读0次

1. list列表

 声明: l = [1, 2, 3, "tom"] 

 迭代声明:l = [index for index in range(1,10)]
 #l = [1,2,3,4,5,6,7,8,9]
  • 增加: append, insert, extend
 l.append(5)    #从数组末尾添加
 l.insert(5,7)  #从指定索引值添加元素,当索引大于数组长度时会从末尾添加(不会越界)
 l.extend(["a","b"]) #将list中的元素加到list后面
  • 删除: pop,remove
 l.pop(index):#通过索引值删除,并且会返回删除元素, index 缺省时默认最后一个
 l.remove("tom") #删除指定元素,且只会删除第一个出现的元素
  • 修改:通过索引改
 l[0]=0  #修改第一个元素
 l[-1]   #支持倒叙查找,负数为从右到左的索引
  • 查找:索引和切片,
l[1]  #取第二个元素
l[2:4] #从索引值2到4取一个子list,索引满足左闭右开原则
 
//判断某元素是否在list里面
c = True if 2 in l else False

2. dict字典

声明 d={"name" : "tom"}
  • 增加/修改:直接给key赋值
dict["name"]="lilei" #修改name的key
dict["no"]=2         #增加 key为no,value值为2的元素
  • 删除:pop,clear,del
删除key为no的元素
方法一:d.pop("no")          
方法二:del d["no"]

d.clear() 删除所有元素
  • 查找:可直接通过key查找
方法一:value = dict["key"]  但是key不存在时会报错,推荐使用
方法二:value = dict.get("key")  推荐使用,可以设置value默认值 get("key",defalutValue)

3. tuple元组

  • 不可变list,不支持增加/删除元素操作
tup1 = (1, 2, 3) # 圆括号
tup2 = "a", "b", "c", "d" #不要括号也可以
tup3 = tup1 + tup2  #支持 + 运算生成新的tuple
print(tup3)

输出:
(1, 2, 3, "a",  "b",  "c",  "d" )

#注意单元素后面需要加逗号
t = (1,)
print(1)

输出:
(1,)
  • 查找:索引和切片,同list
tup1[1]  #取第二个元素
tup2[2:4] #从索引值2到4取一个子tuple,索引满足左闭右开原则
  • tuple 与 list 强制转换
l = tuple(tup3)  #元组 tup3 元组转换成list,
tup = list(l)    #列表 l 强制转换成tuple

4. set

  • 创建 set 的方式是调用 set() 并传入一个 list,list的元素将作为set的元素:
>>> s = set(['A', 'B', 'C'])

>>> print(s)
set(['A', 'C', 'B'])
  • set不能包含重复的元素,如果有相同元素则会只保留一个
>>> s = set(['A', 'B', 'C', 'C'])
>>> print(s)
set(['A', 'C', 'B'])
  • 更新及删除操作
>>> s = set([1, 2, 3])
>>> s.add(4)
>>> s.remove(4)
>>> s.pop()   #随机删除某一个元素

注意:元素为不可变变量, set不能添加list,dict等可变元素

set.add(tuple())时,如果tuple里面含有list等可变元素会报错

相关文章

网友评论

      本文标题:Python列表与字典

      本文链接:https://www.haomeiwen.com/subject/xtowyktx.html