list 像是链表和数组的集合体,既能随机访问,又能添加,删除
classmates=['小明','小红']
print(classmates) #['小明', '小红']
print(len(classmates)) #2 ,len可以获取list中的元素个数
print(classmates[0],classmates[1]) #随机访问
print(classmates[-2],classmates[-1]) #倒着访问
classmates.append('小李') #追加元素
print(classmates) #['小明', '小红', '小李']
classmates.insert(1,'sany') #插入到指定位置
print(classmates) #['小明', 'sany', '小红', '小李']
classmates.pop() #删除list末尾元素
print(classmates) #['小明', 'sany', '小红']
classmates.pop(1)#删除指定位置元素
print(classmates) #['小明', '小红']
classmates[1]='sunny' #可以直接访问修改
print(classmates)
classmates.append(100) #list里面的数据类型可以不同
print(classmates) #['小明', 'sunny', 100]
ls=[100,classmates] #list里面的元素可以是另一个list
print(ls) #[100, ['小明', 'sunny', 100]]
print(len(ls)) #2
print(ls[1][1],classmates[1])#ls可以看成是二维数组,sunny sunny
tuple,不能变的list,所以那些可变方法都没有
tuple中只有一个元素时,必须加,消除歧义(防止被认为是小括号)
tt=('xi',)
print(tt)
tuple中可以含有list,list的内容可变。但与tuple不可变不冲突,不变的是必须指向同一个list
tt=('xi','do')
tt[0]='ss'
print(tt)#因为被修改了,所以会报错
age=19
if (age>20):#条件+冒号
print(age)
elif age==19: # elif 用法和if相同
print('sssss')
else: #else直接冒号
print(age,"dddd")
birth=input('birth:')#input返回的为str型
birth=int(birth)#强转为int
if birth>20:
print("adult")
else:
print("young")
for-in
nums=['2','30','44']
for num in nums:
print(num)
'''
2
30
44
'''
range(5) 生成0-4的序列
list(range(5)) 将这个生出的序列转化为列表
sum=0
for x in range(101):
sum+=x
print(sum) #5050
while 循环
n=100
sum2=0
while n>0:
sum2+=n
n-=1
print(sum2)#5050
break 退出循环
n=1
while n<=100:
if n>10:
break #n=11时,结束循环
print(n)
n+=1
continue 跳过本轮循环
n=1
while n<=100:
n += 1
if n>10:
break #n=11时,结束循环
if n%2==0:
continue #跳过本次循环
print(n)
dict对应 hashmap,无序
dict 的key必须是不可变对象,字符串,整数都可以
dict={'michael':95,'math':64,'lang':99} #初始化,大括号,冒号值,逗号分隔
dict['Eng']=200 #通过key放入value
print(dict) #{'michael': 95, 'math': 64, 'lang': 99, 'Eng': 200}
if 'tomas' in dict: #判断key是否存在
print(True)
else:
print(False)
if dict.get("Tomas",-1)==-1: #get判断key存不存在,不存在返回默认值
print('key不存在')
dict.pop('math') #删除一个key
print(dict)
set 类似于hashset,key不能重复,无序,需要为不可变对象
用一个list初始化
nums=['2','30','44']
myset=set(nums)
print(myset)
myset.add('2') #添加key
myset.add(3)
print(myset)
myset.remove(3)#删除key
print(myset)
s2=set(['2','44','55'])
print(myset&s2)#取交集,{'2', '44'}
print(myset|s2)#取并集,{'2', '30', '55', '44'}
对于不变对象来说,调用对象自身的任意方法,也不会改变该对象自身的内容。相反,这些方法会创建新的对象并返回,这样,就保证了不可变对象本身永远是不可变的。