长风破浪正其时,Python天堑变通途(5)(都是一家人:列表,元组,字符串)

1.创建一个元组:

>>> tuple = (1,2,3,4,5)
>>> tuple1 = (1,2,3,4,5)
>>> tuple1
(1, 2, 3, 4, 5)
>>> tuple1[1]
2

2.元组的特征:“,”是关键,“()”不重要(除创建空元组)

3.创建只有一个元素的元组:

temp = (1,)

4.更新和删除一个元组:

>>> temp = (1,2,4,5)
>>> temp = temp[:2] + (3,) + temp[2:]
>>> temp
(1, 2, 3, 4, 5)
>>> 

删除用del即可

5.可用内置方法:

仅有两个方法count() and index()元组可以使用,其他方法都不行。

6.所有的多对象的、逗号分隔的、没有明确用符号定义的这些集合默认的类型都是元组

7.字符串格式化:

>>> '{0} love {1} {2}'.format('i','you','and') #{}位置参数
'i love you and'
>>> '{a} love {b}'.format(a = 'I',b = 'you') #关键字参数
'I love you'
#如果组合使用,位置参数要在关键字参数之前
'目标字符串'.format(一个元组)
>>> '{0:.1f}{1}'.format(27.658,'GB') 
#第一个零表示元组中第一个元素,应该在被格式化的字符串中第一个出现
#“:”表示格式化的开始,后面接的是格式化
#m(最小长度) . n(小数点精确位数)
'27.7GB'
>>> '%c %c %c' % (97,98,99) #ASCII码,a的ASCII码是97
#格式化可以输入元组和字典
'a b c'

8.常见格式化

%c 格式化字符及其ASCII码
%s 格式化字符串
%d 格式化整数
%o 格式化无符号八进制数
%x 格式化无符号十六进制数
%X 格式化无符号十六进制数(大写)
%f 格式化定点数,可指定小数点后的精度
%e 用科学计数法格式化定点数
%E 作用同%e,用科学计数法格式化定点数
%g 根据值的大小决定使用%f或者%e
%G 作用同%g,根据值的大小决定使用%F或者%E

9.定点数≈浮点数(默认精确到小数点六位)

10.辅助操作符:

>>> '%5.4f' % 23.3333333
'23.3333'

11.进制转换作业:

我的:

shi = input('十进制数:')
while 1:
    if shi.isdigit:
        break
num = int(shi)
print('二进制数:' + bin(num)[2:]) #截取字符串直接在字符串后面切片
print('{0}{1:o}'.format('八进制数:',num))#使用了字符串的内置函数format
print('{0}{1:x}'.format('十六进制数:',num))

范例:

q = True
#此处q为状态函数,可以不写直接写break
while q:
    #状态函数使进制转换可以进行多次
    num = input('请输入一个整数(输入Q结束程序):')
    if num != 'Q':
        num = int(num)
        print('十进制 -> 十六进制 : %d -> %x' % (num, num))#直接打印,一一对应
        print('十进制 -> 八进制 : %d -> %o' % (num, num))
        print('十进制 -> 二进制 : %d -> ' % num, bin(num)[2:])
    else:
        q = False
#bin() 返回一个整数 int 或者长整数 long int 的二进制表示。

12. 列表,元组和字符串多的共同点:

a.都可以通过索引得到每一个元素

b.默认索引值都是从0开始

c.可以通过分片的方法得到一个范围内的元素的集合

d.有很多共同的操作符(重复操作符*,拼接操作符+,成员关系操作符in)

13.序列:

迭代:迭代是重复反馈过程的活动,其目的通常是为了逼近所需目标或结果。每一次对过程的重复称为一次"迭代",而每一次迭代得到的结果会作为下一次迭代的初始值。(for循环)

list():将一个可迭代对象转化为列表:

tuple():···元组

>>> a = list()
>>> a
[]
>>> 
>>> b = '1234567890'
>>> b = list(b)
>>> b
['1', '2', '3', '4', '5', '6', '7', '8', '9', '0']
>>> c = 1,2,3,4,5,6,7,8,9,0
>>> c = list(c)
>>> c
[1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
>>> c = tuple(c)
>>> c
(1, 2, 3, 4, 5, 6, 7, 8, 9, 0)

str():把对象转换为字符串

len():返回参数的长度(可用于循环)

max():返回参数中的最大值(如果是字母则比较ASCII)(字符串的数字背后也有ASCII)

min():返回参数中的最小值(保证序列的类型统一)

sum(序列 , 另外的序列):字符串不能进行该操作

sorted():返回一个排序的列表(和列表内置函数用法相同)

reversed():返回一个迭代器对象:

>>> d = (23,234234,1231231232,4)
>>> reversed(d)
<reversed object at 0x029330D0>
>>> list(reversed(d))
[4, 1231231232, 234234, 23]
>>> 

enumerate(): (返回元组:(索引值,原值))

>>> enumerate(d)
<enumerate object at 0x02938DC8>
>>> list(enumerate(d))
[(0, 23), (1, 234234), (2, 1231231232), (3, 4)]

zip():将两个类型相同的序列压缩在一起,并且取短

>>> a = [1,2,3,4,5,6,7,8]
>>> b = [4,5,6,7,8]
>>> zip(a,b)
<zip object at 0x029C9878>
>>> list(zip(a,b))
[(1, 4), (2, 5), (3, 6), (4, 7), (5, 8)]

14.列表转化为字符串:

>>> list1=['ak','uk',4]
>>> list2=[str(i) for i in list1]    #使用列表推导式把列表中的单个元素全部转化为str类型
>>> list2    #查看转化后的列表
['ak', 'uk', '4']
>>> list3=' '.join(list2)    #把列表中的元素放在空串中,元素间用空格隔开
>>> list3    #查看生成的长串
'ak uk 4'
————————————————
版权声明:第14点为CSDN博主「hat1996」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/eacxzm/article/details/80061741

或者直接用pop函数:

while temp:
        result += str(temp.pop())

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值