ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

python | 浅学 | 8 数组 推导式

2022-07-10 15:03:40  阅读:189  来源: 互联网

标签:推导 python 浅学 names print new isinstance type listdemo


a, b, c, d   = 20, 5.5, True, 4+3j
print(type(a), type(b), type(c), type(d))
a = 111
print(isinstance(a, int))

class A:
  pass
class B(A):
  pass
print(isinstance(A(), A))
print(type(A()) == A  )
print(isinstance(B(), A) )
print(type(B()) == A )      #isinstance()会认为子类是一种父类类型。 type()不会认为子类是一种父类类型。

#1.列表推导式  [表达式 for 变量 in 列表]  或者 [表达式 for 变量 in 列表 if 条件]
names = ['Bob','Tom','alice','Jerry','Wendy','Smith']
new_names = [name.upper()for name in names if len(name)>3]
print(new_names)  #['ALICE', 'JERRY', 'WENDY', 'SMITH']

#2.字典推导式 { key_expr: value_expr for value in collection }  或者 { key_expr: value_expr for value in collection if condition }
listdemo = ['Google','Runoob', 'Tao' ,'bao']
new_listdemo={it:len(it) for it in listdemo} # 将列表中各字符串值为键,各字符串的长度为值,组成键值对
print(new_listdemo)   #{'Google': 6, 'Runoob': 6, 'Tao': 3, 'bao': 3}

#3.集合推导式 { expression for item in Sequence }  { expression for item in Sequence if conditional }
setnew = {i**2 for i in (1,2,3,4) if i<4}  #计算数字 1,2,3 的平方数
print(setnew)   #{1, 4, 9}

#4.元组推导式 (expression for item in Sequence )  (expression for item in Sequence if conditional )
a = (x for x in range(1,10))
print(a)
print(tuple(a))      # 使用 tuple() 函数,可以直接将生成器对象转换成元组

a = {x for x in 'abxacadaba' if x not in 'abc'}
print(a)             #x d
a.add('dong')
print(a)
a.pop()              #也可以设置随机删除集合中的一个元素
print(a)
a.discard('dong1')   #移除集合中的元素,且如果元素不存在,不会发生错误
#a.remove('dong1')    #从集合中移除,如果元素不存在,则会发生错误

list=[1,2,3,4]
it = iter(list)    # 创建迭代器对象
print (next(it))
for x in it:
    print (x, end=" ")


def hello():
  print("Hello World!")
hello()


def area(width, height):
  return width * height
def print_welcome(name):
  print("Welcome", name)
print_welcome("Runoob")
w = 4
h = 5
print("width =", w, " height =", h, " area =", area(w, h))

vec = [2, 4, 6]
vec1 =[3*x for x in vec]        #元素*3
print(vec1)
vec2 =[[x, x**2] for x in vec]  #元素平方
print(vec2)
matrix = [[1, 2, 3, 4], [5, 6, 7, 8],[9, 10, 11, 12]]
matrix1 = [[row[i] for row in matrix] for i in range(4)]
print(matrix1)


# 打开一个文件
f = open("D:/python/tmp/foo.txt", "w")
f.write( "Python 是一个非常好的语言。\n是的,的确非常好!!\n" )
# 关闭打开的文件
f.close()

# 打开一个文件
f = open("D:/python/tmp/foo.txt", "r")
#str = f.readlines()
#print(str)

for line in f:
    print(line, end='')
# 关闭打开的文件
f.close()


class MyClass:
  """一个简单的类实例"""
  i = 12345

  def f(self):
    return 'hello world'


# 实例化类
x = MyClass()

# 访问类的属性和方法
print("MyClass 类的属性 i 为:", x.i)
print("MyClass 类的方法 f 输出为:", x.f())

 

标签:推导,python,浅学,names,print,new,isinstance,type,listdemo
来源: https://www.cnblogs.com/dongxizhen/p/16463202.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有