列表和元组

字符编码:

ASCII       :     只编码了英文和常用符
汉字        :      gbk   gb2313
unicode     :     将全球所有文字编写到了一张表中,unicdoe一般存在于内存中,不会存在硬盘中

数据在硬盘或网络上进行存储或传输时,必须以字节码的形式存在。将编码编码成字节码:
    utf-8
    gbk

常用命令
    - ord()     : 根据某一个字符查看unicode编码值    ord('中')
    - chr()     : 根据unicode编码值查看某一个字符    chr(20015)
    - encode()   :  将unicode编码成字节码             '中国'.encode()      '中国'.encode('gbk')
    - decode()   :  将字节解码成unicode               b'\xe4\xb8\xad'.decode('utf-8')

ASCII

0   : 48
A   : 65
a   : 97
\b  \r \n \f  \t \v

列表 list

列表是一个有序的可变容器。
形式:
    L = []
    L = [1,3.14,'abc',[1,2]]
    L = list(可迭代对象)         L = list('abc123')

例: L = [1,3.14,'abc',[1,2]]
增
    L.append(item)          在最后增加一个元素   L.apppend(6)
    L.insert(索引,item)     在指定索引处插入一元素   L.insert(2,'666')
    L.extend(列表)           将两个列表合并成一个     L.extend([1,2,3])
删 
    L.pop(索引)                根据索引弹出元素,默认索引值为-1, L.pop()    L.pop(0)
    L.remove(元素值)          根据元素的值进行删除元素,从左至右仅删除一次
    L.clear()                  清空整个列表
    del(对象)                  python通用方法,可以删除整个列表或某个元素   del(L)   del(L[2])
改
    L[索引] = 新值             根据索引进行修改    L[3] = 'test'
查
    因为列表是序列的一种,所以所有序列的方法全部适用
            索引、切片、加法、乘法、in 、not in 、 len() 、max()、min()
    L.count(值)                查寻某一个值在列表中出现的次数
    L.index(值)               查寻某一个值在列表中对应的索引
其它方法:
    L.reverse()               将列表取反,会直接修改元素本身,类似于  L = L[::-1]
    L.sort()                  排序,前提时列表中的元素类型一致
                              L1 = [10,2,100,5]
                              L1.sort()
    L.copy()                  深拷贝

深拷贝和浅拷贝
    浅拷贝指向同一内存空间,所以一个对象修改了,全部修改了。
        L1 = L
    深拷贝是在内存中新开辟了一个空间,这个空间初始值相同,所有的操作都是独立的。
        L1 = L.copy()
        L2 = L[:]

元组 tuple

元组是一种有序的不可变容器,可以认为元组就是一个只读的列表
形式:
    var = ()
    var = (1,)   var = 1,2,3        元组的小括号可以省略,如里元组中只有一个元素,那么这个元素后面必须 要有一个逗号
    var = (1,3.14,'abc',[1,2],('test1',),True)
    var = tuple(迭代对象)           可以将一个迭代对象变成元组    var = tuple('abc')  var = tuple([1,2,3])

元组的操作方法:
    例:var = (1,3.14,'abc',True)

    因为元组是序列的一种,所以所有序列的方法全部适用
            索引、切片、加法、乘法、in 、not in 、 len() 、max()、min()
    var.count(值)                查寻某一个值在元组中出现的次数
    var.index(值)               查寻某一个值在元组中对应的索引

练习

server1 = r'9000,20GB,3xx:1000,4xx:500,5xx:100'
server2 = r'32000,120GB,3xx:1500,4xx:1000,5xx:600'
求出两个服务器的总流量,及总访问次数

参考:
    server1 = r'9000,20GB,3xx:1000,4xx:500,5xx:100'
    server2 = r'32000,120GB,3xx:1500,4xx:1000,5xx:600'

    count1 = int(server1.split(',')[0])
    count2 = int(server2.split(',')[0])
    print(count1 + count2)

    size1 = server1.split(',')[1]
    size1 = int(size1[:-2])
    size2 = server2.split(',')[1]
    size2 = int(size2[:-2])
    print('{}GB'.format(size1 +size2))

斐波那契数列(后一位永远是前两位数的和)
fib = [1,1]   要求使用列表输出前6数
fib = [1,1,2,3,5,8,13,21,......]

参考:
       #!/usr/local/python3/bin/
#conding:utf-8
#author:liu shuai jie
''' 斐波那契数列(后一位永远是前两位数的和)
 fib = [1,1]   要求使用列表输出前6数
fib = [1,1,2,3,5,8,13,21,......]'''
number = int(1)
fib = [1,1]
while number <= 4:
    tmp = fib[-1] + fib[-2]
    fib.append(tmp)
    number += 1
print(fib)

input 采集学生信息(姓名,电话,成绩),至少三个,使用列表,输出如下形式
[ [‘stu1’,18801116666,80],[‘stu2’,1040926265@qq.com,70],[‘stu1’,18801116856,78s] ]
参考:

 #!/usr/local/python3/bin/
#conding:utf-8
#author:liu shuai jie
number = int(1)
stus = []
while number <= 3:
    name = input('please input your name: \n').strip()
    phone = input('{} please input your phone number:\n'.format(name))
    age = input('{} please input your age:\n'.format(name))
    tmp = [name,phone.strip(),age.strip()]
    stus.extend(tmp)
    number += 1
print(stus)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值