1031

列表-切片

切片的目的就是获取列表中的一部分,得到一个新的列表,不改变原来。

'''

ls=[i**2 for i in range(0,9)]

print(ls)

'''

#切片[a:b:c]  a默认是0,b默认是len

#下标从a开始,截止到b,b是取不到的  [a,b)

#c是间隔,默认是1

'''

ls=[i for i in range(1,9)]

print(ls)

print(ls[1:5])

print(ls[1:7:2]) #从下标1开始到长度7,间隔为2

print(ls[0:len(ls):2])  #从下标0开始到表长,间隔2

print(ls[::2])    #同上

ls.reverse()  #倒序

print(ls)

print(ls[::-1]) #间隔为-1,相当于倒序

print(ls[7:1:-1]) #从下标7开始到1

print(ls)

'''

ls1=mylist[1:3]

ls2=mylist[3:11]

print(ls1+ls2)

遍历

遍历我的列表,while和for的两种循环方式

ls=[i for i in range(1,9)]

myindex=0

mylen=len(ls)

while myindex

    print('%s:%s'%(myindex,ls[myindex]))

    myindex+=1

==========================================

for m in ls:

    print('%s:%s'%(ls.index(m),m))

传递

一个变量传给另一个变量

a=10

b=a

a=20

print(‘a=%s,b=%s’%(a,b))

================================================

ls1 = [1,2,3]

ls2 = ls1

print('ls1=%s,ls2=%s'%(ls1,ls2))

ls1.append(120)

print('ls1=%s,ls2=%s'%(ls1,ls2))

**********************************************************************

a=10  

b=10     (地址相同)

ls1=[1,2,3]

ls2=[1,2,3]    (地址不同)

python 组织数据的方式不一样,普通类型(数字,字符串,布尔,空)与集合列表不同

传递变量,二者都是指向同一个地址内存,如果是普通类型,不会影响另一方,如果是非普通类型(集合,对象),会影响另一方。

普通类型的传递再修改----->值传递

非普通类型的传递再修改-------->引用传递

元组

与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,列表使用中括号。元组的功能 = 列表不修改的功能。

tu =(1,2,3)

print(tu[0]) #下标为0的元素

print(tu.index(2))  #查询2的下标

print(tu.count(1))  #出现数量

tu1=(1,2,3)     #列表转元组

ls1=[4,5,6]

tu2=tuple(ls1)

print(tu2)

***********我是智障的分割线************

tu1=(1,2,3)           #元组转列表

ls1=[4,5,6]

ls2=list(tu1)

print(ls2)

注意:转变之后都是得到一个新的,不会修改原来的。

****************割**********************

num=(1,2,3,[22,33,44])

num[3][2]=4444      #可以将元组里的列表内的元素改变

print(num)

print(num[3][2])

元组是一个特殊的列表,只读,不能修改。一旦定义并赋值之后,不能再修改,只有查询的功能。如果元组只有一个值,后面需要加上逗号,建议:元组,列表最后都加上一个逗号。

t1=(1,2,3)

t2=(1,2,3)  #  id 不一样

字典

字典使用键-值(key-value)存储,具有极快的查找速度。使用{   }   字典的键是无序的,不能保证顺序。

标识符={’键1‘:值1,’键2:值2。。。。。。}

注意: 1-键必须是字符串,值是任何类型的 2-键必须是唯一的,值可以重复,3-如果键重复,后面会覆盖前面的,就是如果存在这样的键,是修改,不存在就是新增

infos={'sid':376,

'sname':'任盈盈',

'age':21,

'hobby':['lol','令狐冲','烫头发']

}

#新增

infos['sex']='女'

print(infos)

'**************你的分割线***************'

#修改

infos={'sid':376,

'sname':'任盈盈',

'age':21,

'hobby':['lol','令狐冲','烫头发']

}

infos['age']=17

print(infos)

'**************你的分割线***************'

#删除键获取值

sname=infos.pop('sid')

print(sname)

print(infos)

'**************我的分割线***************'

#删除

del infos['age']

print(infos)

#长度

infos={'sid':376,

'sname':'任盈盈',

'age':21,

'hobby':['lol','令狐冲','烫头发']

}

print(len(infos))

infos.clear()

print(infos)

'**************她的分割线***************'


#获取,如果没有,获取默认值

infos={'sid':376,

'sname':'任盈盈',

'age':21,

'hobby':['lol','令狐冲','烫头发']

}

print(infos['age'])

print(infos.get('sex'))

print(infos.get('sex','无'))

print(infos.get('age','有'))

'**************咱的分割线***************'

infos={'sid':376,

'sname':'任盈盈',

'age':21,

'hobby':['lol','令狐冲','烫头发']

}

#获取所有的键

infos_keys=infos.keys()

print(infos_keys)

for k in infos_keys:

print(k)

#获取所有的值

infos_values=infos.values()

print(infos_values)

for value in infos_values:

print(value)

'*************割*******************’

infos={'sid':376,

'sname':'任盈盈',

'age':21,

'hobby':['lol','令狐冲','烫头发']

}

infos_keys=infos.keys()

for k in infos_keys:    #遍历键,获得值(第一种遍历方式)

print('%s:%s'%(k,infos[k]))

print(len(infos))

infos_items=infos.items()

print(infos_items)

for k in infos_items:

print('k=%s'%str(k))  #第二种遍历方式

key=k[0]

value=k[1]

print('%s:%s'%(key,value))

‘****************割******************’

for k in infos:          #第三种遍历方式

print(k)

print('%s:%s'%(k,infos[k]))

'**************是不是分割线***************'

infos={'sid':376,

'sname':'任盈盈',

'age':21,

'hobby':['lol','令狐冲','烫头发']

}

key=input('输入键:')    #判断键的存在

if key in infos:

print('有')

else:

print('无')

‘*********************割******************’

#获取所有的值

infos={'sid':376,

'sname':'任盈盈',

'age':21,

'hobby':['lol','令狐冲','烫头发']

}

infos_values = infos.values()

value = input('输入要搜索的值:')

#False表示没有,True表示有

flag = False

#遍历值 

‘’‘

for k in infos_values:

if k==value:

flag = False

break

’‘’

flag = value in infos_values

if flag:

print('有')

else:

print('无)

                                                                             2017-10-31


你可能感兴趣的:(1031)