列表扩展:id问题
#列表扩展
a=[1,2,3]
b=a
a[1]=4
print(b[1])
print(id(a)==id(b))#为true
a=a +[5,6]
print(id(a)==id(b))#为false
print(a)
#a,b指向的地址都是同一个[1,2,3]区域
#extrnd()和append()是追加。id一样
#而相加会创建新的
列表扩展:公共方法
#内置函数:
first_list=[1,2,3,5,9]
del(first_list[0])
print(max(first_list))
print([1,1,1]>[3])
#in和not in 成员运算符
print(1 in first_list) #false
元组:
#元组 与列表不同的是,无法修改 单元组需要加逗号
first_tuple =("xx",123,998,)
#只有count计算次数 和index取索引
#元组因为类型不同较少有遍历,一般用来存放元素
元组扩展:max(),min(),sum()最大,最小,相加
字典
#字典,跟lua的表有点像
first_dict={
"name ":"星星",
"0":"888",
"1":"789",
7:556
#键+值
}
first_dict["2"]="123456"
#增加
print(first_dict[str(2)])
#删除
first_dict.pop("name")
#计数len()
#.update(two_dict)字典合并
#.clear()清空
可以和列表一起使用,比如说在数组里面存放字典,遍历的时候挨个遍历。类似于卡片型,一次遍历一张卡片,一张卡片上面有多种信息。
实例:
#综合题目,车辆管理系统
th_list=[
{"车位":"1","车牌":"1154"},
{"车位":"2","车牌":"1155"},
{"车位":"3","车牌":"1156"},
{"车位":"4","车牌":"1157"},
{"车位":"5","车牌":"0"},
]
def th_find(a):
for i in th_list:
if i["车牌"]==a:
if a=="0":
print(f'找到了空位,车位为{i["车位"]}')
else:
print(f"找到了车牌为{a}的车{i}")
break
else:
print(f"遍历完成,没有车牌{a}的车")
th_find("0")
今天的数组赋值问题有点意思,当a数组赋值给b的时候,相当于a和b都指向这个数组,改变 数组,ab的输出都会改变。
想去试试lua和c++,
以下为python:
a=[1,2,3,1]
b=a
a[0]=4
print(b[0])
#结果为4
以下为lua的测试:
a={1,2,3,4}
b=a
b[1]=4
print(a[1])
神奇,结果也是4
具体情况明天再看两遍视频,确实是之前没有注意到的问题。