生成器推导式(生成元组)
一个生成器只能运行一次,迭代一次后第二次没有数据。
gnt=(x for x in range(1,100) if x%9==0)
生成器推导式(生成元组)
一个生成器只能运行一次,迭代一次后第二次没有数据。
gnt=(x for x in range(1,100) if x%9==0)
没听懂
列表是可变序列,元组是不可变序列,只有创建和删除,但元组支持访问操作。
括号可以省略,但元素后面有逗号,不跟逗号认定为其他类型。
列表基本语法创建
a=[],a=list()
range创建整数列表
列表内通过for循环创建多个元素,通过if过滤元素
左对齐,右对齐、填充,用冒号后面填充的字符,大括号机括住{}
相同字符串,符合标识符规则的字母,不同变量,此时两个不同变量会引用同一个对象
split分割
join合并
列表对象可变,字符串对象不可变,每次新建花费时间长,且浪费内存。
三元运算符”:
num=input("请输入一个数字")
print("nun 是小于10的数字“ if int(s)<10 else ”s是大于等于10的数字")
选择结构:
在选择和循环结构中,条件表达式的值为False的情况如下:
False、0、0.0、控制None、空序列对象(空列表、空元组、空集合
空字典、空字符串)、空range、空迭代对象
条件表达式中,不能有赋值操作符"="
控制语句:
集合:
集合的底层是字典实现
a={3,5,7}
a.add(9)
a={9,3,5,7}
set(),将列表、元组等可迭代对象转成集合。如果原来数据存在重复数据,则只保留一个。
remove()删除指定元素;clear()清空整个集合
集合相关操作:
a|b a.union(b) 并集
a&b a.intersection(b) 交集
a-b a.difference(b) 差集
根据键查找”键值对“底层过程
bin(hash("name"))
r1={"name":"高小一","age":18,"salary":30000,"city":"北京"} r2={"name":"高小二","age":19,"salary":20000,"city":"上海"} r3={"name":"高小五","age":20,"salary":10000,"city":"深圳"} tb=[r1,r2,r3] # 获得第二行人的薪资 print(tb[1].get("salary")) # 打印所有薪资 for i in range(len(tb)): #i-->0,1,2 print(tb[i].get("salary")) for i in range(len(tb)): print(tb[i].get("name"),tb[i].get("age"),tb[i].get("salary"),tb[i].get("city"))
高小一 18 30000 北京
高小二 19 20000 上海
高小五 20 10000 深圳
序列解包:方便我们对多个变量赋值
s=
name,age,job=s 默认对键进行操作
name,age,job=s.items() 默认对键值对进行操作
s.value() 对值进行操作
字典元素的添加修改删除:
a['address']=‘西三旗'
a=['age']=16,覆盖18
undate()将新字典中所有键值对全部添加到旧字典对象上,key有重复直接覆盖
删除
del()
clear()
b=a.pop('age')删除并返回值对象
a.popitem()随机删除并返回值
字典元素的访问:
a['name']
a.get('name')
a.get('sex','一个男人')不存在时返回的值
列出所有的键值对:
a.items()
列出所有的键,列出所有的值
a.keys()
a.values()
len()键值对数
字典:
字典是”键值对“的无序可变序列,字典的每个元素都是一个”键值对“
a={'name':'gaoqi',‘age':18,'job':'programmer'}
dict(name='gaoqi',age='18')
dict([("name","gaoqi"),("age",18)])
k=['name','age','job']
v=['gaoqi',18,'teacher']
d=dict(zip(k,v))
通过fromkeys创建值为空的字典
a=dict.fromkeys(['name','age','job'])
生成器推导式创建元组
s._next_() 单次指针取值
1.元组的核心特点是:不可变序列
2.元组的访问和处理速度比列表快。
3.与整数和字符串一样,元组可以作为字典的键,列表则不能作为字典的键使用。
元组的元素访问和计数:
list.sorted()是修改原列表对象,元组没有该方法只能使用内置函数sorted(tupleObj),并生成新的列表对象。
zip()将多个列表对应位置的元素组成成为元组。并返回这个zip对象。
元组tuple
a=(10,20,30) / a=10.20,30
a=(1,)
tuple()可以接受列表、字符串、其他序列类型、迭代器等生成元组
list()可以接受元组、字符串、其他序列类型、迭代器等生成列表