[Python]List,Tuple,循环

创建List
Python内置的一种数据类型是列表:list
list是一种有序的集合
可以随时添加和删除其中的元素
['person1', 'person2', 'person3']
list是 数学意义上的有序集合
也就是说list中的元素是按照顺序排列的
用[]把list的所有元素都括起来
就是一个list对象
通常 我们会把list赋值给一个变量
这样 就可以通过变量来引用list
classmates= ['person1', 'person2', 'person3']
classmates #打印classmates中的内容
由于python是一个动态语言
所以list中的数据不需要是同一个数据类型
例如 List = [1, 'adc', True]
一个元素也没有的list是空list
empty_list = []
打印三个人的成绩
L = ['adc ',85 ,'ap', 90, 'sup',2]

按照索引访问list
L = ['adc', 'ap', 'sup']
打印第一个:print L[0]

如果想打印倒数第几个:

倒数第一个是L[-1]

print L[None]输出为空
print 'None'也是空 n大小写不限
如数组 类推 注意不要越界

添加新元素
L = ['adc', 'ap', 'sup']
用append()把新元素追加到list末尾
L = ['adc', 'ap', 'sup']
L.append('top')
insert()函数 第一个参数是索引号
             第二个是待添加的新元素
L = ['adc', 'ap', 'sup']
L.insert(0, 'top')
L.insert(-3, 'top')
将top添加到索引为0也就是第一个位置              

从list中删除元素
删除最后一个元素 用pop()
如果不是最后一个 用pop(元素位置)
L = ['adc', 'ap', 'sup', 'top']
L.pop(2)
L.pop(2)
删除sup和top
因为删除了sup之后top就变成第二个

替换元素
L = ['adc', 'ap', 'sup']
替换ap为top
L[1] = 'top'
L[-2] = 'top'

创建tuple
tuple是另一种有序的列表 中文翻译为元组
tuple和list非常类似
tuple一旦创建完毕就不能修改了

t = ('adc', 'ap', 'sup')
tuple没有append insert或者pop
获取tuple元素和list一样
可以访问元素 但不能赋值成别的元素

创建单元素tuple
创建空tuple
t = ()
print t
#()
创建单元素
t = (1)

print(t)

得到整数1

括号既可以表示tuple
又可以作为括号表示运算时的优先级
结果(1)被python解释为1
导致得到的结果不是tuple 而是1
用()定义单元素tuple时有歧义
单元素tuple要多加一个逗号
t(1,)
print t
#(1,)
tuple加不加额外的,效果是一样的
t = (1,2,3,)
print (t)
#(1,2,3)

可变的tuple
t = ('a', 'b', ['A', 'B'])
list对象可以通过t[2]来得到
然后改list元素
L[0] = 'X'
L[1] = 'Y'
可以得到
t = ('a', 'b', ['X', 'Y'])
tuple元素确实变了 但变的不是tuple元素
而是list元素
所以 所为tuple不变说的是
tuple每个元素 指向永远不变
即指向'a'就不能改成指向其他对象
但指向的list本身是可以变的
想让tuple内容不可变
可以改成
('a', 'b', ('A', 'B'))

if语句
age = 20
if age >= 18:
    print ('your age is', age)
    print ('adult')
print ('END')
缩进规则:
    具有相同缩进的代码被视为代码块
    如果if判断为true 则执行这个代码块
缩进请严格按照python的习惯写法
    四个空格 不要使用TAB 更不要TAB和空格混用
if语句后接表达式然后用:表示代码块开始
如果在python交互环境下敲代码 要特别留意缩进
并且退出缩进需要多敲一行回车
age = 20
if age>= 18:
    print( 'your age is', age)
    print ('adult')

your age is 20
adult

if-else
score = 59
if score >= 60:
    print('passed')
else:
    print ('failed')

5-3 if-elif-else
score = 85
if score >= 85:
    print ('excellent')
elif score >= 60:
    print ('good')
else:
    print ('failed')
下面代码中
age = 8
if age >= 6:
    print ('teenager')
elif age >= 18:
    print ('adult')
else:
    print ('kid')
当age为20时 输出teenager
因为20符合第一个age >= 6
执行age >= 6的代码块
就不会往下执行了
改为
age = 8
if age < 6:
    print 'kid'
elif age < 18:
    print ('teenager')
else:
    print ('adult')

for循环
list和tuple可以表示一个有序的集合
如果想依次访问list中每一个元素
L = ['adc', 'ap', 'sup']
for name in L:
    print (name)
name这个变量是在for循环中定义的 意思是
依次取出list中的每一个元素,并把元素赋值给name
然后执行for

L = [75,92,59,68]
sum = 0.0
for score in L:
    sum += score
print (sum / 4)
score可以随便起名 没定义 可以是i,j,k等等

while循环
while循环不会迭代list或是tuple的元素
而是根据表达式判断循环是否结束
【迭代可以理解为更新数据的意思
while循环先判断条件是否为真
如果是则执行循环体代码块
用while计算100以内奇数的和
sum = 0
x = 1
while x < 100:
    sum += x
    x += 2
print (sum)

break退出循环
用for或者while循环时 如果要在循环体内直接退出循环
可以使用break语句
计算1到100整数的和
sum = 0
x = 1
while True:
    sum += x
    x += 1
    if x > 100:
        break
print (sum)
这不是死循环
在循环体内 我们判断x > 100成立时 用break退出循环
这样可以实现循环的结束
计算1 2 4 8..前20项的和
sum = 0
n = 1
x = 1
while True:
    sum += x
    x *= 2
    n += 1
    if n > 20
        break
print (sum)

continue继续循环

输出0-100奇数和
1.x从1--100开始递增
2.判断x是否在100范围中
3.判断x是否为奇数
是:递加到sum变量中
否:跳过后面语句
sum = 0
x = 0
while True:
    x += 1
    if x > 100:
        break
    if x % 2 == 0:
        continue
    sum += x
    print (sum)

多重循环
对100以内的两位数,
请使用一个两重循环
打印出所有十位数数字比个位数数字小的数,
例如,23(2 < 3)。
for x in [1,2,3,4,5,6,7,8,9]:
#for x in range(1,10)
    for y in [0,1,2,3,4,5,6,7,8,9]:
        if x >= y:
        continue
    print(x)

或者
for x in range(10,100):
    if x/10 < x%10:
        print (x)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值