一、切片

1、string.digits
import string
nums = []
for s in string.digits:
    nums.append(int(s))
print(nums)
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

 

2、list(string.digits)
import string
nums = []
nums = list(string.digits)
print(nums)
# ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']

 

3、切片取部分值
import string
nums = []
nums = list(string.digits)
print(nums[-6:-10:-1])# 第二个冒号后面值代表步长,是隔几个元素取一次;步长是负数,从右往左开始取值
# ['4', '3', '2', '1']

 

4、切片同样适用于字符串

步长为负:

   前面两个都不写:则取反

  写第一个,第二个不写:从第一个向左取

  写第二个,第一个不写:从第二个向左取

  写两个:开始位置在结束位置的左侧:取不到

  写两个:开始位置在结束位置的右侧:从右往左取

stus = ['a1','a2','a3','a4','a5','a6']
for stu in stus:
    print(stu)

# for i in range(len(stus)):
#     #0-5
#     print(stus[i])
# 上述两种方式输出结果均如下所示:
# a1
# a2
# a3
# a4
# a5
# a6

字符串示例:

words = 'hh哈哈哈'
for word in words:
    print(word)
# h
# h
#
#
#

二、切片,list取值的一种方式

stus = ['a1','a2','a3','a4','a5','a6']
print(stus[:3])# 顾头不顾尾,如果开始的元素不写的话,那么就是从最前面开始
# ['a1', 'a2', 'a3']
print(stus[-1])# -1代表最后一个元素
# a6
print(stus[1:])# 如果后面下标不写的话,代表取到最后
# ['a2', 'a3', 'a4', 'a5', 'a6']
print(stus[:])# 开头的下标和结尾的下标都不写的话,代表取整个list
# ['a1', 'a2', 'a3', 'a4', 'a5', 'a6']

 

三、元组,list,但是它是不可变的

1、元组一旦定义好,就不能再变化。

cities = ('beijing','shanghai')# 一旦定义好,就不能再变化
print(cities[0])
# beijing
print(cities.count('beijing'))
# 1
print(cities.index('beijing'))
# 0

 

2、字符串是不可变的类型,定义好之后不可修改。

s = 'a1、a2'
s[0]='b1'
# 字符串是不可变的类型,定义好之后不可修改
print(s) # 报错

修改字符串的内容可用replace进行替换。

s = 'abcertyabc'
s = s.replace('abc','')
print(s)
# erty

3、list的id

a = [1,1,2,3,43,5,6,72]
b = a[:]
print(id(a)) # 10603016
print(id(b)) # 10622920

 

a = [1,1,2,3,43,5,6,72]
b = [1,1,2,3,43,5,6,72]
print(id(a)) #11586056
print(id(b)) #11605960

 

a = [1,1,2,3,43,5,6,72]
b = [1,1,2,3,43,5,6,72]
b = a
print(id(a)) #6933000
print(id(b)) #6933000

4、取得已知list中的偶数:

a = [1,1,2,3,43,5,6,72]
b = a[:]
for i in b:
    if i%2 !=0:
        a.remove(i)
print(a)
# [2, 6, 72]

5、对a和b重新赋值

a = 'haha'
b = a
print('重新赋值之前的:',id(b)) #重新赋值之前的: 6870104
print('重新赋值之前的:',id(a)) #重新赋值之前的: 6870104
a = 'sk'
print(b) # haha
print(a) # sk
print(id(b)) # 6870104
print(id(a)) # 6870272

6、a,b = 1,2  交换a和b的两个值:

c = 0
a,b = 1,2
c = a
a = b
b = c
print(a,b)

四、练习题:

a,b = 1,2

在不引入第三个变量的下,把a,b交换过来

方法一:

a,b = 1,2
b = a+b
a = b-a
b = b-a
print(a,b)

方法二(python独有):

b,a = a,b
print(a,b)

 

转载于:https://www.cnblogs.com/Noul/p/9156100.html

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐