python基础初探

   1、列表list:list是一种有序的集合,可以随时添加和删除其中的元素。例:

>>> L = ['Adam', 'Lisa', 'Bart', 'Paul'] 
>>> L # 打印L变量的内容 ['Adam', 'Lisa', 'Bart', 'Paul']
索引:正序索引从 0 开始,也就是说,第一个元素的索引是0,第二个元素的索引是1,以此类推;倒序索引从-1开始,倒数第一个元素的索引是-1,倒数第二个是-2,以此类推
添加新元素: list 的 append() 方法(后插),把新元素追加到 list 的末尾list.append(参数);list的 insert(参数,参数)方法(前插),它接受两个参数,第一个参数是
索引号,第二个参数是待添加的新元素例:classmates.insert(0,'vim')插入方式为该索引号元素的前面
删除元素:list的pop(参数)方法:总是删掉list的最后一个元素,并且它还返回这个元素,所以我们执行 L.pop() 后,会打印出
'Paul':L.pop(1)删除‘Lisa’后打印出‘Lisa’
连续删除操作时需要考虑列表中元素索引号的变化
替换元素:替换L中的‘Bart’:L[2]=‘paul’ 直接对索引元素赋值替换,list包含的元素个数不变。


2、元组tuple:tuple是另一种有序的列表,中文翻译为“ 元组 ”。tuple 和 list 非常类似,但是,tuple一旦创建完毕,就不能修改了。例:
>>> t = ('Adam', 'Lisa', 'Bart')
>>> print t
获取 tuple 元素的方式和 list 是一模一样的,我们可以正常使用 t[0],t[-1]等索引方式访问元素,但是不能赋值成别的元素
创建包含一个元素的元组:t=(1,) 因为()既可以表示tuple,又可以作为括号表示运算时的优先级所以创建单一元素的元组时需要加逗号避免歧义
列表list可作为元组tuple的元素使得元组具有“可变性”例:t=('a','b',['A','B']) 其中列表['A','B']作为第三个元素在元组t中,list对象可以通过 t[2] 拿到,
使元组中的元素不可变:t=('a','b',('A','B'))元组作为t元组的元素使得t元组中的元素都不可变

3、字典dict:list 和 tuple 可以用来表示顺序集合,而dict是类似于查找表的集合可以通过key来查找value。例:
d = {
    'Adam': 95,
    'Lisa': 85,
    'Bart': 59
}
访问dict:1、判断key是否存在使用in操作符。例:
if 'paul' in d:
print d['paul']
2、使用dict本身提供的get方法,当key不存在时,返回None。例:
>>>print d.get('Adam')
>>>95
更新dict:要把新同学'Paul'的成绩 72 加进去,用赋值语句
>>> d['Paul'] = 72 如果 key 已经存在,则赋值会用新的 value 替换掉原来的 value。
遍历dict:请用 for 循环遍历上例,打印出 name: score 来
d = {
    'Adam': 95,
    'Lisa': 85,
    'Bart': 59
}
for x in d:
print x,':',d[x]

优点:查找速度快
缺点:占内存大,还会浪费很多内存,由于dict是按照key查找的所以key不能重复,list占内存小但是查找慢。
特点:dict中key-value序对是没有顺序的,list是有序的。dict中作为key的元素必须不可变,不可以用list作为dict的key。不可变的限制仅限于key,value是否可变无所谓(可用list
作为dict中的value)。

4、set()集合:dict的作用是建立一组 key 和一组 value 的映射关系,dict的key是不能重复的。set 持有一系列元素,这一点和 list 很像,但是set的元素
没有重复,而且是无序的,这点和 dict 的 key很像。
list作为元素传入set()后,打印set元素list内的元素将被无序打乱。当set中元素list内含有重复元素时,打印set会自动去掉list内重复元素。

访问set:用in操作符判断元素是否在set中存在返回True,不存在返回False.注意元素的字母大小写,set严格区分大小写。
遍历set:请用 for 循环遍历如下的set,打印出 name: score 来。
s = set([('Adam', 95), ('Lisa', 85), ('Bart', 59)])
s = set([('Adam', 95), ('Lisa', 85), ('Bart', 59)])
for x in s:
print x[0],':',x[1]
更新set:添加元素时用set的add()方法,当set中含有要添加的元素时,不会报错。删除set中的元素用remove()方法,当set中不含要删除的元素时,remove()会报错,所以
remove需要提前判断。 任务:针对下面的set,给定一个list,对list中的每一个元素,如果在set中,就将其删除,如果不在set中,就添加进去。
s = set(['Adam', 'Lisa', 'Paul'])
L = ['Adam', 'Lisa', 'Bart', 'Paul']

s = set(['Adam', 'Lisa', 'Paul'])
L = ['Adam', 'Lisa', 'Bart', 'Paul']
for name in L:
if name in s:
s.remove(name)
else:
s.add(name)
print s
 
 
5、条件判断和循环
任务:
计算 0 - 100 奇数的和(使用while,break,continue):

   sum = 0
   x = 0
   while True:
   x=x+1
   if x > 100:
   break
   if x % 2 ==0:
   continue
   sum=sum+x
   print sum

   任务:对100以内的两位数,请使用一个两重循环打印出所有十位数数字比个位数数字小的数,例如,23(2 < 3)。

    for x in [ 1,2,3,4,5,6,7,8,9 ]:

    for y in [ 0,1,2,3,4,5,6,7,8,9 ]:
    if x<y:
    print x,y

 




转载于:https://www.cnblogs.com/mrvim/p/8400256.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值